繁体   English   中英

apache2 Web代理服务器上的多个NIC

[英]Multiple NIC's on apache2 web proxy server

我有一个关于带有两个NIC的Linux机器上的流量路由的问题。 NIC之一在我们的DMZ网络( 10.1.9.0/24 )上,另一个在我们的本地网络( 10.1.0.0./21 )上:

default via `10.1.4.1` dev eth0 
default via `10.1.9.1` dev eth1  metric 100 
`10.1.0.0/21` dev eth0  proto kernel  scope link  src `10.1.0.132` 
`10.1.9.0/24` dev eth1  proto kernel  scope link  src `10.1.9.25` 

我们使用服务器作为Web代理。 dmz接口(eth1)从我们的外部Internet地址之一获取流量。 因此,在我们的主防火墙/路由器上存在一个NAT规则,可将请求转换为10.1.9.25 这可以正常工作,请求被接受并得到响应。 在这种情况下,连接在eth1上建立,响应也在eth1上建立。

问题:当我们要从本地网络内部访问Web服务器时,防火墙会将外部IP转换为DMZ IP。 可以从本地网络中建立到DMZ服务器的连接,但不能相反。 在这种情况下,将从本地网络实例化到DMZ的连接,但Web服务器不响应。

sudo tcpdump -i eth1 port 443 and src host 10.1.1.154
10:09:35.626450 IP 10.1.1.154.48870 > 10.1.9.25.https: Flags [S], seq 2491947547, win 14600, options [mss 1460,sackOK,TS val 2066949 ecr 0,nop,wscale 4], length 0
10:09:35.825619 IP 10.1.1.154.48871 > 10.1.9.25.https: Flags [S], seq 1827990665, win 14600, options [mss 1460,sackOK,TS val 2067011 ecr 0,nop,wscale 4], length 0
10:09:36.575239 IP 10.1.1.154.48870 > 10.1.9.25.https: Flags [S], seq 2491947547, win 14600, options [mss 1460,sackOK,TS val 2067199 ecr 0,nop,wscale 4], length 0
10:09:36.823264 IP 10.1.1.154.48871 > 10.1.9.25.https: Flags [S], seq 1827990665, win 14600, options [mss 1460,sackOK,TS val 2067261 ecr 0,nop,wscale 4], length 0
10:09:38.579373 IP 10.1.1.154.48870 > 10.1.9.25.https: Flags [S], seq 2491947547, win 14600, options [mss 1460,sackOK,TS val 2067700 ecr 0,nop,wscale 4], length 0
10:09:38.827290 IP 10.1.1.154.48871 > 10.1.9.25.https: Flags [S], seq 1827990665, win 14600, options [mss 1460,sackOK,TS val 2067762 ecr 0,nop,wscale 4], length 0

SSH相同,接口可以接收连接,但是不响应。 我不确定问题出在哪里(在服务器上还是在防火墙/路由器设置上)。 我们在DMZ中还有其他运行良好的服务器,并且sysadmin在这里说网络配置是相同的。

谁能帮我诊断这个问题?

你的问题在这里

default via `10.1.4.1` dev eth0 
default via `10.1.9.1` dev eth1  metric 100 
`10.1.0.0/21` dev eth0  proto kernel  scope link  src `10.1.0.132` 
`10.1.9.0/24` dev eth1  proto kernel  scope link  src `10.1.9.25`

IP不能在同一路由表中使用多个默认路由...考虑一下,如果您从Shell ping 4.2.2.2,应该使用哪个接口?

Linux Advanced Routing and Traffic Control Howto提供了一些技巧,可用于实现多个路由表,但这通常会使事情变得比您想要维护的更为复杂。

最简单的解决方案是选择一个接口,您可以在其中将所有内部公司网络聚合到一个超网中并为其分配路由...例如,此路由涵盖了所有未直接连接到linux计算机的10.xxx网络。 。

route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.1.0.132

然后从eth0删除默认值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM