我有一台服务器,已将其设置为使用 dhcp 作为主要连接信息,并设置了一个别名,我的路由器将端口转发到该别名。
每次(我认为这是正在发生的事情)dhcp 都会更新租约。我丢失了别名 ip。
这是在 Gentoo Linux 机器上
#/etc/conf.d/net
config_eth0( "dhcp" "192.168.3.42/24" )
当我跑步时
/etc/init.d/net.eth0 restart
我获得了 dhcp 分配的 ip 和别名。
eth0 Link encap:Ethernet HWaddr 00:17:9a:b6:67:cc
inet addr:192.168.3.100 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::217:9aff:feb6:67cc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2974019 errors:0 dropped:0 overruns:0 frame:0
TX packets:2294036 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3110313558 (2.8 GiB) TX bytes:266296521 (253.9 MiB)
Interrupt:19 Base address:0x4000
eth0:1 Link encap:Ethernet HWaddr 00:17:9a:b6:67:cc
inet addr:192.168.3.42 Bcast:192.168.3.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x4000
一天之后,我将只剩下 eth0。
我必须做什么才能使别名在 dhcp 更新时保留?
答案1
如果您使用的是 dhclient,它可以接受参数“-sf”,该参数指定要运行的脚本文件以进行网络更改。默认值为“/sbin/dhclient-script”,您可以包装该脚本,或者它可以提供钩子,您可以使用“/etc/dhcp/dhclient-${interface}-up-hooks”或“/etc/dhcp/dhclient-up-hooks”或在“/etc/dhcp/dhclient.d”中的脚本添加别名。
肖恩
答案2
好的,所以我决定将其设置为静态。我需要一种方法来获取 dns 信息,这就是我使用 dhcp 的原因。
我现在已经将其设置如下。
config_eth0=( "192.168.3.42/24" )
routes_eth0=( "default via 192.168.3.1" )
dns_servers_eth0=( "192.168.3.1" )
192.168.3.1是我的路由器。
我一直习惯于使用 resolv.conf 来设置 dns 服务器。我想我从来没想过我可以用我的路由器来做这件事。
如果有更好的方法来做到这一点我会很高兴听到。
答案3
如果您正在使用 dhclient,请检查 dhclient.conf 中的别名声明。也许它可以将 eth0:1 作为接口名称...