不想變更既有網路拓撲,需在 Server 與 Client 之間透明檢查封包。採用 Bridge 模式(Layer 2),防火牆不佔用 IP,僅橋接兩介面。
# 安裝橋接工具 rpm -ivh bridge-utils-* # 將實體介面降為 0.0.0.0 ifconfig eth0 0.0.0.0 ifconfig eth1 0.0.0.0 # 建立橋接並加入介面 brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 # 原文誤植為 bri1,此處修正 # 驗證 brctl show
手動指派:
ifconfig br0 192.168.1.1 netmask 255.255.255.0 up
或透過 DHCP:dhclient br0。寫入 /etc/rc.local 開機自動執行。
vi /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p
# 預設丟棄 FORWARD iptables -P FORWARD DROP # 允許已建立/相關連線 iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT # 允許雙向 ICMP Echo Request (type 8) iptables -A FORWARD -s 192.168.1.0/24 -p icmp --icmp-type 8 -j ACCEPT # 僅允許 Server(192.168.1.100) → Client(192.168.1.200) SMB iptables -A FORWARD -s 192.168.1.100 -d 192.168.1.200 -p tcp --dport 139 -j ACCEPT iptables -A FORWARD -s 192.168.1.100 -d 192.168.1.200 -p tcp --dport 445 -j ACCEPT
brctl addif bri1 eth1 為筆誤,正確應為 brctl addif br0 eth1。