很长时间尝试在 centos7 上设置我的外部 IP 地址,结果“网络管理员“但它只能与 systemd-networkd 一起工作。
找到了一些解决方案并使用 systemd-networkd,但现在更新到 rocky 9.2 后,我无法再使用 systemd-networkd。
[Match]
#this is just works
Name=eth1
[Network]
Gateway=XXX.XXX.XXX.XXX
Address=XXX.XXX.XXX.XXX/29
DNS=8.8.4.4
现在是 2023 年,我仍然无法使静态外部 IP 正常工作
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:03:6f:26 brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.XXX.XXX/32 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
如果使用 /32 则不会添加 brodcast,但在不同的发行版(如 debian)中会显示 brd,没有任何问题,并且可以正常工作
当使用 /29 时,它显示正确 br 但仍然不起作用
使用命令ip addr 添加 XX.XX.XX.222/29 br XX.XX.XX.223 dev eth1或 ip地址添加 XXX.XXX.XXX.222/32 br XXX.XXX.XXX.222 dev eth1 仍然失败
在 Windows 上它可以工作,在 Debian、Centors 上,使用 systemd-networking 也可以工作,所以它只是一个 redhat 垃圾网络管理器
答案1
您的XXX.XXX.XXX.223
是广播地址,您不能将其用作您机器的 IP 地址。(如您的屏幕截图所示nmtui
)。
用作XXX.XXX.XXX.222/29
地址它应该可以正常工作。
如果由于某些原因不行...请尝试手动编辑网络脚本文件:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
DNS1=8.8.8.8
DNS2=8.8.4.4
NETMASK=255.255.255.248
IPADDR=XXX.XXX.XXX.222
GATEWAY=XXX.XXX.XXX.217
重新启动网络服务systemctl restart network
(或重新启动整个机器systemctl reboot
)。
希望这可以帮助。