當bridge下介面eth0單獨設定IP時,為了保證LAN PC可以連線WANPC
阿新 • • 發佈:2019-02-05
一般情況下,是在bridge中設定IP地址,如果把網路介面如eth0/1,ath*等掛在該bridge之下,所有bridge的介面公用一個IP。
而下面情況則不同。
環境:
為了保證LAN-PC可以連線WAN-PC;需要做如下工作:
1、 讓LAN-PC可以訪問到NAT-Router的LAN口。
分析:因為該介面的IP是作為LAN-PC的預設閘道器地址,當LAN-PC去訪問其他網段地址時,查詢的資料包會轉發到其閘道器地址,然後由閘道器對其進行轉發。
問題:由於物理介面eth1是橋接到br0下的,當資料包進入NAT-Router裝置時,會進入ebtables模組進行bridge處理,此時eth1的IP對於該資料包來說是透明的,因為此時ebtables模組是使用bridge的IP地址處理,由於br0的IP地址192.168.1.1和192.168.10.1不在同一個網段,這時將資料包會被轉發到其他介面,導致本地裝置無法響應該ARP請求。
所以,解決問題的關鍵是讓到達閘道器的ARP請求能夠上到本地裝置中。
解決方案:
在NAT-Router的BROUTING表中,需要將去往NAT-Router LAN口的ARP包(目的IP為192.168.10.1)轉入本地處理,否則該型別的ARP表將被橋轉發(因為橋的IP為192.168.1.0/24網段)。
規則:ebtables -t broute-I BROUTING -i eth1 -p ARP --arp-ip-dst 192.168.10.1/32 -j DROP
注:在BROUTING中執行DROP操作,該資料包會轉入本地網路層處理,這樣就能夠被當前裝置識別到eth1介面就是該目標地址,NAT-Router就會進行ARP響應。