我有一个双接口 Linux iptables 防火墙。目前,我在私有网络 192.168.0.x 上有几个服务器。防火墙目前已在本地配置每个 IP,并使用 NAT 将端口转发到相应的服务器,例如:
208.80.x.130:80 -> 192.168.0.130:80
我的界面看起来像这样:
vlan1 Link encap:Ethernet HWaddr 20:20:30:87:20:30
inet addr:208.80.x.129 Bcast:208.80.x.159 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1140818 errors:0 dropped:0 overruns:0 frame:0
TX packets:1108086 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:462146250 (440.7 MiB) TX bytes:590006065 (562.6 MiB)
vlan1:0 Link encap:Ethernet HWaddr 20:20:30:87:20:30
inet addr:208.80.x.130 Bcast:208.80.x.255 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
br0 Link encap:Ethernet HWaddr 20:CF:30:87:EC:2F
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1120674 errors:0 dropped:0 overruns:0 frame:0
TX packets:1105443 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:570011808 (543.6 MiB) TX bytes:469174153 (447.4 MiB)
我有 /27 个 IP 地址;208.80.x.129-157 网关 208.80.x.158。我想在该范围的顶端分离一个小子网,比如 /29。我目前使用的 IP 是 129-141,所以我不想碰它们。我的目标是除了我目前服务的 NAT 地址之外,还拥有一个可路由地址的小型 VLAN。
internets
|
208.80.x.158
isp router
|
208.80.x.129-147
firewall
--+-------------------
| |
192.168.0.x 208.80.x.148-156
我如何实现这个目标?
答案1
对于您的 ISP 当前提供的 IP 分配来说,这是不可能的。
首先向您的 ISP 索取一个新的路由块。这可以是 /30。
将路由IP放在vlan1接口上。
将 NAT IP 池 (.129 到 147) 放在您的环回上,以便您现有的 PREROUTING NAT 规则继续工作。
将 208.80.x.149/29 放在 br0 上。如果您希望将其作为 DMZ 与现有 LAN 完全隔离,则可以为其创建一个新的 VLAN。
我已经这样做过很多次了并且效果很好。
答案2
我通过将子网一分为二并要求我的提供商将其网关 IP 移至第一个子网中的地址来实现此目的。我将所有第一个子网 IP 放在外部接口上。此时,第一个(NAT)子网已启动并运行。然后我要求我的 ISP 将第二个子网的静态路由设置为我的路由器外部 IP。我添加了一个具有第二个子网中的 IP 的 vlan 接口。此时,第二个(路由)网络已启动并运行。