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


9

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

在重新启动计算机之前,此解决方案一直有效。我尝试从根目录通过crontab在@reboot上运行脚本解决方案。但是,设置不会生效。我也注意到拨打电话/etc/network/interfaces后设置没有改变ifconfig

有没有办法使用更改IP地址设置,以ifconfig使设置在重新启动时不会更改?

Answers:


5

您可能在引导时将计算机设置为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地址是静态的,重启后不会更改。


在2019年的debian
中等

1

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


如果有人像我一样偶然来到这里-在openSuse环境中,应该/etc/rc.d/boot.local
Nuno Furtado

0

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

  1. ifconfig eth0向下
  2. ifconfig eth0 192.168.1.242
  3. ifconfig eth0向上
  4. 然后在屏幕的右上角,单击您的连接设置图标,然后单击“连接”。你应该很好。

这只是发生在我身上。我记得它发生在很久以前,当我看到发布给该线程的第一个答案时,我知道我之前并没有经历那么长时间。经过一番快速阅读后,我意识到您必须在重新分配eth0之前将其拉低,否则连接不会中断,并且IP更改将无法在重新启动后幸免。


0

在debian9 Stretch中,我遇到了同样的问题,即使IP地址在/ etc / networking / interface中设置为静态,ip也会在重启后自动更改为DHCP。在德宾9中,我发现

vi /etc/systemd/network/99-dhcp.network

文件看起来像

[NETWORK]
DHCP=yes

并追求

[NETWORK]
DHCP=NO
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.