Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

實例解析:Linux 透明防火牆 (Bridge Firewall) 設定

編輯:Linux 教學

應用場景

不想變更既有網路拓撲,需在 Server 與 Client 之間透明檢查封包。採用 Bridge 模式(Layer 2),防火牆不佔用 IP,僅橋接兩介面。

實驗環境

  • Server:192.168.1.100
  • Client:192.168.1.200
  • Firewall(雙網卡):eth0、eth1 橋接為 br0,管理 IP 192.168.1.1

需求

  • 僅允許 Server → Client 单向 SMB (TCP 139, 445) 傳檔。
  • 雙向允許 ICMP Echo Request (ping) 驗證連通。

步驟 1:建立網橋介面

# 安裝橋接工具
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

步驟 2:為橋介面指派管理 IP

手動指派:

ifconfig br0 192.168.1.1 netmask 255.255.255.0 up

或透過 DHCP:dhclient br0。寫入 /etc/rc.local 開機自動執行。

步驟 3:啟用核心轉發

vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

步驟 4:iptables 策略

# 預設丟棄 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。
  • 規則順序很重要,預設 DROP 應在最前,允許規則在後。
Copyright © Windows教程網 All Rights Reserved