我有一个相当标准的网络,其中设置了一个 Cisco 路由器,该路由器有一堆公共 IP 地址,连接到 TMG 服务器防火墙(为了匿名,假设 TMG 服务器的公共 IP 是 1.1.1.66,路由器的 IP 是 1.1.1.65
我们正在设立一个分支机构,我已通过一条备用 ADSL 线路成功设立了另一台 TMG 服务器,并使用站点到站点 VPN 来检查一切是否正常,然后再将其发送到新办公室。
然而,我想模拟各种网络速度和延迟来确定分支机构所需的连接大小,因此我想在两者之间放置一个 Ubuntu 服务器,并使用 tc 来限制带宽。
我们的 ISP 更改了 Cisco 路由器上的配置,因此其中一个端口具有 172.16.0.1 / 255.255.255.0 VLAN,并且我已将此范围拆分为两个 255.255.255.128 范围,并设置了 Ubuntu Box 在它们之间进行路由
- 两个 NICS(72.16.0.2 / 255.255.255.128 和 172.16.0.202 / 255.255.255.128)
- 在 /etc/sysctl.conf 中启用端口转发
- 向 iptables 添加了一些简单的配置来记录每个数据包
从分支防火墙和主防火墙,我可以 ping 通 Ubuntu 路由器上的两个 NIC IP 地址。从 Ubuntu 路由器,我可以 ping 通所有地方,包括 1.1.1.x 地址。但是我无法 ping 通两个防火墙,就好像数据包没有被转发一样。我似乎无法“跨越” Ubuntu 路由器。
我怀疑这是我设置两个 NIC 的方式,掩码为 255.255.255.128,但我并不是真正的路由专家!
答案1
您允许转发了吗?
你/etc/sysctl.conf
必须有这个未注释线:
net.ipv4.ip_forward=1
取消注释此行后,您必须使用此命令:
sysctl -p /etc/sysctl.conf
并且您需要在路由表中添加有关 1.1.1.x 地址的记录,如下所示:
ip route add 1.1.1.0/25 via 172.16.0.1
编辑1:您已将防火墙2和Ubuntu与防火墙之间的路由器上的网络掩码更改为与第二个网络适配器上的相同:
172.16.0.1/255.255.255.128
和172.16.0.2/255.255.255.128
和
1.1.1.65/255.255.255.240
和1.1.1.66/255.255.255.240
(或128
两端)
在您设置的路由器上,172.16.0.128/255.255.255.128
可以通过以下方式访问该网络172.16.0.2
在您设置的防火墙2上,该网络172.16.0.0/255.255.255.0
(它是网络127.16.0.0/255.255.255.128
和172.16.0.128/255.255.255.128
)可通过地址访问1.1.1.65
。