在 Debian 中使用 ifconfig 永久更改 IP 地址

在 Debian 中使用 ifconfig 永久更改 IP 地址

我知道有几篇关于如何手动更改 IP 设置的教程。但是,我还没有找到适合我需求的解决方案。我需要能够编写一些脚本来更改主机的 IP 地址设置。我试过了/sbin/ifconfig eth0 192.168.0.5 netmask 255.255.255.0; /sbin/route add default gw 192.168.0.1

此解决方案在机器重新启动之前有效。我尝试从 root 运行 crontab 中 @reboot 处的脚本解决方案。但是,设置没有生效。我还注意到,/etc/network/interfaces调用后设置没有改变ifconfig

有没有办法更改 IP 地址设置,ifconfig以便设置在重启时不会改变?

答案1

您可能在启动时将机器设置为 DHCP......

做:

sudo vi /etc/sysconfig/networking-scripts/ifcfg-eth0

change BOOTPROTO to BOOTPROTO="static"

然后添加您的设置...我的看起来像这样:

DEVICE="eth0"
BOOTPROTO="static"
BROADCAST="192.168.254.255"
DNS1="192.168.254.25"
GATEWAY="192.168.254.254"
HWADDR="F2:24:08:AE:93:10"
IPADDR="192.168.254.236"
NETMASK="255.255.255.0"
ONBOOT="yes"
TYPE="Ethernet"

保存并执行:

sudo service network restart

现在您的 IP 地址是静态的,重启后不会改变。

答案2

我目前使用的解决方案是将上述命令放入/etc/rc.local。经过测试,发现此选项有效。

答案3

为了使用 ifconfig 更改您的 IP 地址,并使其在重启后继续存在,您必须执行以下操作:

  1. ifconfig eth0 关闭
  2. ifconfig eth0 192.168.1.242
  3. ifconfig eth0 启动
  4. 然后在屏幕的右上角,单击您的连接设置图标,然后单击“连接”。一切就绪。

这真的发生在我身上。我记得很久以前发生过这件事,当我看到这个帖子的第一个答案时,我知道我以前没有经历过这么漫长的过程。快速阅读后,我意识到在重新分配 eth0 之前必须将其拉下,否则连接不会中断,并且 ip 更改不会在重新启动后继续存在。

答案4

在我的 S390 Debian 中,更改 /etc/network/interfaces 即可。Ifconfig 会进行临时更改,直到下次系统重启。

相关内容