我正在使用 xubuntu 并且我已经将我的/etc/network/interfaces
文件设置如下:
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
当我重新启动系统并运行ifconfig
命令时,一切正常:
enp0s3: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
[...]
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
[...]
但是,当我更新文件时,/etc/network/interfaces
将 IP 更改为192.168.1.20然后执行以下操作:
sudo ifdown -a && sudo ifup -a
该ifconfig
命令显示与之前相同的 IP (192.168.1.10)。此外,我可以ping
对两个地址执行 a 操作,它们会响应。
直到我重启系统,我才看到预期的 IP(192.168.1.20)。即使执行也sudo /etc/init.d/networking restart
无法解决这个问题……
我究竟做错了什么?
谢谢!
PS:我已禁用 GUI 网络管理器以避免冲突。
编辑:我已经使用过 sudo ifdown enp0s3 && sudo ifup -v enp0s3
,结果如下:
Configuring interface enp0s3=enp0s3 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/bin/ip addr add 192.168.1.20/255.255.255.0 broadcast 192.168.1.255 dev enp0s3 label enp0s3
/bin/ip link set dev enp0s3 up
/bin/ip route add default via 192.168.1.1 dev enp0s3 onlink
/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/avahi-autoipd
run-parts: executing /etc/network/if-up.d/avahi-daemon
run-parts: executing /etc/network/if-up.d/wpasupplicant
编辑2:
每次我编辑/etc/network/interfaces
、更改静态 IP 地址并重新启动网络时,就像我在向我的机器添加新 IP 一样。我可以 ping 我写入的每一个 IP!!
答案1
- 使用以下方式检查 IP
ping
; - 然后检查IP,它是否会动态分配到LAN中,如果IP分配给LAN中的另一台机器,则会出现“IP冲突”;
- 若没有,请在 中添加静态IP(
192.168.1.20
)/etc/network/interfaces
; - 然后使用命令重新启动网络
service networking restart
; ifdown enp0s3 && ifup enp0s3
如果您不想重新启动,请运行命令。