/etc/network/interfaces 不会改变我的静态 IP

/etc/network/interfaces 不会改变我的静态 IP

我正在使用 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

  1. 使用以下方式检查 IP ping
  2. 然后检查IP,它是否会动态分配到LAN中,如果IP分配给LAN中的另一台机器,则会出现“IP冲突”;
  3. 若没有,请在 中添加静态IP(192.168.1.20/etc/network/interfaces
  4. 然后使用命令重新启动网络service networking restart
  5. ifdown enp0s3 && ifup enp0s3如果您不想重新启动,请运行命令。

相关内容