我正在尝试将 IP 地址别名到 Lo 上或创建一个新的环回接口,例如 lo:1
我已经创建了 /etc/sysconfig/network-scripts/ifcfg-lo:10
DEVICE=lo:10
IPADDR=192.168.10.1
NETMASK=255.255.255.0
NETWORK=192.168.10.0
BROADCAST=192.168.10.255
ONBOOT=yes
NAME=lo10
当我执行 ifup lo:10
[root@xxxx network-scripts]# ifup lo:10
Error: no device found for connection 'lo10'.
有人能解释一下这个问题吗?我曾使用这种方法在物理接口上对 IP 地址进行别名处理,没有任何问题。
这不是重复的,正如迈克尔试图指出的那样,因为我正在尝试正确记录的方式,并且不愿意像他在同样的问题中所建议的那样使用 rc.local。
答案1
我能让它发挥作用的唯一方法是发出
systemctl network restart
然后你得到这个
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 192.168.11.1/24 brd 192.168.11.255 scope global lo0:10
不过,您只需向 lo 添加一个 IP 地址,而不需要创建新的接口即可执行此操作。
ip addr add 192.168.12.1/24 dev lo
你会得到这个
inet 192.168.12.1/24 scope global lo
valid_lft forever preferred_lft forever
在 CentOS 上,ifup 脚本包含此代码片段
if [ -x /sbin/ifup-local ]; then
/sbin/ifup-local ${DEVICE}
fi
因此,您可以创建一个名为的文件/etc/sysconfig/network-scripts/ifup-local
,并在界面启动后让它为您执行操作
#!/bin/sh
if [[ "$1" == "lo" ]]
then
ip addr add 192.168.2.1/24 dev lo
else
# do something else
fi