防火墙上的多个 IP,这些是虚拟接口还是什么?

防火墙上的多个 IP,这些是虚拟接口还是什么?

我们从 ISP 获得了 5 个静态 IP 地址:

XXX.XXX.XXX.180
XXX.XXX.XXX.181
XXX.XXX.XXX.182
XXX.XXX.XXX.183
XXX.XXX.XXX.184

在我们的防火墙盒上,连接到电缆调制解调器的 NIC 似乎已设置了所有 5 个 IP 地址。以前的 IT 人员设置了它,我不确定他到底做了什么。这些是这个 NIC 上的虚拟接口吗?以下是ip addr该 NIC 的输出:

rwd0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet XXX.XXX.XXX.180/24 brd XXX.XXX.XXX.186 scope global rwd0
    inet XXX.XXX.XXX.181/29 brd XXX.XXX.XXX.186 scope global rwd0:FWB9
    inet XXX.XXX.XXX.182/29 brd XXX.XXX.XXX.186 scope global secondary rwd0:FWB10
    inet XXX.XXX.XXX.183/29 brd XXX.XXX.XXX.186 scope global secondary rwd0:FWB11
    inet XXX.XXX.XXX.184/29 brd XXX.XXX.XXX.186 scope global secondary rwd0:FWB12
    inet6 fe80::250:8bff:fe61:5734/64 scope link 
       valid_lft forever preferred_lft forever

我对防火墙和网络不太熟悉,所以我只是想弄清楚他在这里做了什么。我知道他使用 Firewall Builder 来配置 iptables 规则,也许这与我在这些名称中看到的“FWB”有关?

我的问题是:

  1. 这是怎么回事?虚拟接口?还是其他什么?

  2. 如果我们想在这个防火墙旁边放置第二个防火墙但我们只希望它处理到的流量XXX.XXX.XXX.182,我们该如何摆脱XXX.XXX.XXX.182现有防火墙上的静态地址?

防火墙在 Fedora 11 上运行(是的,我知道,这不是最好的选择,因此我考虑更换防火墙,这也是之前的 IT 人员不再在这里工作的原因之一)。

答案1

可能不是最好的答案,但却是通用的答案-你总是可以做到的:

cd /etc
grep -R  XXX\.XXX\.XXX\.182 .

这将为您提供有关 /etc 中的哪个文件 [ 通常 - 在合理的设置中 - 这类信息存在 ] 此 ip 出现的位置 - 这将是您开始调查的好地方。

答案2

Fedora 在 /etc/sysconfig/network-scripts 中有自己的网络配置。具有 IP 配置的文件名为 ifcfg-'name_of_interface',对于您的设置,可能为 ifcfg-rwd0、ifcfg-rwd0:FWB9 等。

如果您想要parallel为该路由器添加另一个路由器,删除 ifcfg-rwd0:x 就足够了。当然,您需要将这些 IP 添加到第二个路由器/防火墙。

答案3

是的,它们是虚拟接口,正常的命名方案是 ethX:Y。X 是主接口,Y 是子接口标识符。通常您会看到 eth0:0、eth0:1 等。

在这种情况下,您的主接口似乎称为 rwd0,而 rwd0:FWB[9-12] 是子接口。

您猜测它们是由防火墙构建器设置的,这是非常合理的。

至于为什么要这样做,您需要在防火墙上为要提供服务的所有公共 IP 设置别名,以便防火墙后面的机器使用。假设您有 2 个 Web 服务器,并且希望将它们都托管在标准 80 上。如果您只有一个 IP,例如 .180,您就无法做到这一点,您只能将端口 80 发送到防火墙后面的一台机器。有了多个地址,您可以说针对 .180:80 的流量会流向 Web 服务器 1,而 .181:80 会流向 Web 服务器 2。

我个人没有处理过 Fedora 或防火墙生成器,所以我无法告诉您要编辑的文件的具体位置,但一些常见的位置是:/etc/sysconfig /etc/conf.d /etc/network

基本上,环顾四周你就会找到它。

答案4

嗯,看起来它们是辅助 IP:

[kbrandt@kbrandt: ~/scrap/] sudo ifconfig eth0:0 192.168.12.12 netmask 255.255.255.0
[kbrandt@kbrandt: ~/scrap/] ip addr show eth0   
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 100
    link/ether 00:19:d1:03:39:a5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.254.15/24 brd 192.168.254.255 scope global eth0
    inet 192.168.12.12/24 brd 192.168.12.255 scope global eth0:0
    inet6 fe80::219:d1ff:fe03:39a5/64 scope link 
       valid_lft forever preferred_lft forever

但是,我无法说清为什么前任管理员将它们分配给防火墙本身,恐怕我也不知道什么是 rwd 设备。

要删除它,请执行以下操作:

 sudo ip addr del 192.168.12.12 dev eth0

就我的情况而言,但就像我说过的,我无法识别 rwd 设备,所以请谨慎操作。

编辑:
哦,RaLink 无线接口是 rwd?在这种情况下,只需用 替换我的eth0示例即可rwd0

编辑2:
这实际上只是为了向 Maniac 展示我正在谈论的内容:
机器 1:

$ sudo iptables -t nat -L -b 
Chain PREROUTING (policy ACCEPT 14 packets, 1431 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  554 46536 DNAT       all  --  any    any     anywhere             12.12.12.12         to:192.168.1.15 

Chain POSTROUTING (policy ACCEPT 823 packets, 72596 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    3   600 SNAT       all  --  any    any     192.168.1.15         anywhere            to:12.12.12.12 

Chain OUTPUT (policy ACCEPT 823 packets, 72944 bytes)
 pkts bytes target     prot opt in     out     source               destination

$ifconfig
eth0      Link encap:Ethernet  HWaddr 00:21:9b:1d:4c:7d  
          inet addr:192.168.1.154  Bcast:192.168.1.255  Mask:255.255.255.0

eth0:0    Link encap:Ethernet  HWaddr 00:21:9b:1d:4c:7d  
          inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0

机器2:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
12.12.12.12     192.168.1.154   255.255.255.255 UGH   0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

$ ping 12.12.12.12
PING 12.12.12.12 (12.12.12.12) 56(84) bytes of data.
64 bytes from 12.12.12.12: icmp_seq=1 ttl=64 time=0.604 ms
64 bytes from 12.12.12.12: icmp_seq=2 ttl=64 time=0.629 ms

然后 tcp dump 确认 ping 到达了我认为应该到达的地方...

相关内容