Linux:如何在启动时configuration辅助IP地址?

问候专家,

我在这里configuration了一个不错的小型Linux防火墙机器。 内部networking(10.0.0。*)为eth1 ,外部networking为eth2 (65.130.27.69/27)。 eth0目前没有被使用。 (顺便说一下,我使用的是假IP地址,我不知道这些人是谁。)

我已经完成了所有iptables的工作,并且使用DNAT进行了适当的设置,这一切都很好,我更新了/etc/sysconfig/iptables 。 都好。

这是它获得乐趣的地方。 我们在这里有一堆IP,另一台服务器想要接收80端口的stream量,但是在不同的IP上。 我将规则添加到iptables中,然后将辅助IP添加到eth2如下所示:

 # ip addr add 65.130.27.70/27 dev eth2 broadcast 65.130.27.79 

那工作:

 # ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 08:00:09:dc:f4:c1 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:a0:c9:03:ac:9b brd ff:ff:ff:ff:ff:ff inet 10.0.0.0/8 brd 10.255.255.255 scope global eth1 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:a0:c9:73:7f:97 brd ff:ff:ff:ff:ff:ff inet 65.130.27.69/28 brd 65.130.27.79 scope global eth2 inet 65.130.27.70/28 brd 65.130.27.79 scope global secondary eth2 

现在设备eth2侦听两个IP地址,.69和.70。 一切顺利,工作得很好。 防火墙根据需要路由stream量,内部服务器应该接收stream量。

然后,有一天,由于未知的原因,防火墙机器重新启动。 我原来设置了几年,所以我完全忘记了这个从IP地址。 后来人们开始抱怨这样的服务不起作用。 它不工作,因为防火墙机器没有辅助IP地址,上面的.70 。 所以我再一次用上面的魔法命令手动添加它。

以下是问题:如何设置本机在启动时自动添加从IP地址?

我已经提出了一些解决scheme:

我已经将这个魔法命令添加到了/etc/rc.d/rc.local

 # ip addr add 65.130.27.70/27 dev eth2 broadcast 65.130.27.79 

而且我很确定,如果(或者什么时候)重新启动,它就会工作。 但是,我碰到了这些文档:

http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/ref-guide/s1-networkscripts-interfaces.html

通过使用克隆接口在底部附近的示例,我可以创build另一个文件/etc/sysconfig/network-scripts/ifcfg-eth2-secondary并在其中放置一行:

 IPADDR=65.130.27.70 

这会replace此设备上的现有IP地址,还是添加另一个? 这个方法是否推荐超过上面的方法?

为什么我不尝试这些呢? 在我设置另一个防火墙机器之前,我不会乱用生产机器。

通常你要做的就是创build一个别名,这样你就可以将一个IP绑定到eth2,另一个绑定到eth2:1

您可以像这样configuration启动脚本

在/ etc / sysconfig / network中的脚本/的ifcfg-ETH2
DEVICE = ETH2
IPADDR = 65.130.27.69
ONBOOT = YES
BOOTPROTO =静态
BROADCAST = …等等

的/ etc / SYSCONFIG /networking的脚本/的ifcfg-ETH2:1
DEVICE = ETH2:1
IPADDR = 65.130.27.70
ONBOOT = YES
BOOTPROTO =静态
BROADCAST = …等等