簡體   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