可以使用Ifconfig将接口切换到DHCP吗?如果不行,有什么更好的方法呢?

我刚刚设置了一个新的Ubuntu服务器,打算进行大量的网络测试。
在安装过程中,我简单地跳过了网络步骤。
现在我需要经常在DHCP和一个地址之间切换。
我知道可以通过ifconfig eth0 x.x.x.x netmask x.x.x.x轻松给一个端口分配一个地址,但是,有没有其他方法可以用来设置一个端口使用DHCP?
如果这不可能的话,我猜我可以在/etc/network/interfaces中默认为dhcp,然后只需使用up/down或重新启动网络来应用... 但是,我更愿意使用ifconfig。

@TheX - 我只是在使用Ubuntu Server,实际上并没有提供任何服务!我需要在一个网络上切换到DHCP,然后再插入另一个网络,而那里没有DHCP服务器,且IP段完全不同。 - wilhil
1@TheX - 不好意思... 这是用于从一个启用了DHCP的网络下载数据/测试,然后切换到另一个没有DHCP的网络。 - wilhil
@TheX - 对不起,我不确定你是否有什么地方没理解... 我确切知道这就是情况!这就是为什么我想要一个静态IP和DHCP,并在它们之间切换!在Windows中,当测试网络时,我只需右键点击连接并输入IP配置,要返回DHCP,只需勾选自动分配框... 我只是想要Linux的变体。 - wilhil
1哦...我明白了...所以你只是想找一个简单的方法来切换它... - TheXed
1TheX - 没错!如果我没有解释清楚,对不起,但是我觉得这并不复杂!在类似于Windows的GUI Linux中,我可以轻松地做到这一点 - 我只是无法弄清楚如何通过命令行来做。 - wilhil
1个回答

从静态变为动态
ifconfig eth0 0.0.0.0 0.0.0.0 && dhclient  

改回来
killall dhclient && ifconfig eth0 10.0.1.22 netmask 255.255.255.0

1你可能还需要添加一个IP路由 - RobotHumans
完全符合我需要的,谢谢。但是为什么要提供0.0.0.0呢?只使用dhclient对我来说已经可以了。 - 3bdalla
1这是一种习惯。所以你是说“取消我当前的任何地址分配,然后请求一个地址”,而不仅仅是“请求一个地址”。 - RobotHumans
3dhclientеә”иҜҘеңЁеҗҺйқўеҠ дёҠжҺҘеҸЈпјҢеӣ дёәеҪ“ifconfigеҗҺзҡ„и®ҫеӨҮдёҚжҳҜeth0ж—¶пјҢдҪ йңҖиҰҒжҢҮе®ҡе®ғгҖӮ - Jim Hunziker
如果dhclient已经在运行,我们需要再次运行它吗? - logidelic
是的,你需要这样做。它不能动态地捕捉到新的接口。 - RobotHumans
感谢 @RobotHumans。接下来就问题的另一面来说,当转为静态时,是否需要关闭它呢?如果其他接口仍然需要使用动态主机配置协议(DHCP),那该怎么办呢? - logidelic
你不一定要这样做,但如果有多个接口的情况下,明确地按照每个接口运行可能是一个好主意。 - RobotHumans