通透式防火牆
通透式防火牆最大的優點就是不需要去變動原有的網路架構,你只需要把網路線剪成二半,將通透式防火牆接在中間即可,如下圖的範例。
本來的網路架構:
伺服器 ---------> Router(OR Nat) ----------> INTERNET
裝上通透式防火牆就變成:
伺服器 ---------> Firewall ---------> Router(OR Nat) ----------> INTERNET
其實通透式防火牆的運作原理很簡單,它其實就是一臺 "Bridge",只是它具有防火牆的功能而已。Linux 是可以當做通透式防火牆來使用的,而且設定上非常的簡單。更棒的是由於 Linux 功能強大,你除了可以把它當作防火牆來使用以外,還可以搭配 Layer 7 Filter(應用層防火牆)來進行頻寬管理,例如限制 P2P 軟體可以使用的頻寬或是管控 MSN 等等。
接下來是讓 Linux 以 Bridge Mode 運作的設定方式。
網路 script 組態設定
一、/etc/sysconfig/network-scripts/ifcfg-br0:
引用:
DEVICE=br0
TYPE=Bridge
IPADDR=192.168.100.254
NETMASK=255.255.255.0
ONBOOT=yes註:如果需要進行遠端管理在bind IP到Bridge介面,否則不需bind任何IP。
二、/etc/sysconfig/network-scripts/ifcfg-eth0:
引用:
DEVICE=eth0
TYPE=ETHER
ONBOOT=yes
BRIDGE=br0
三、/etc/sysconfig/network-scripts/ifcfg-eth1:
引用:
DEVICE=eth1
TYPE=ETHER
ONBOOT=yes
BRIDGE=br0
設定好後,以 servier network restart 重新啟動網路界面,應該就可以發現 br0 這個 bridge 界面了。很簡單吧,只要輕輕鬆鬆的幾行設定就可以讓 Linux 搖身一變成為 Bridge Firewall,只要你懂得如何調較,Linux 一點都不會輸給那些貴死人的企業級firewall。事實上,有很多企業級 firewall 其實骨子裡也是使用 Linux......。
設定防火牆需註意事項:
1.過濾條件要寫在 FORWARD Chain
2.要使用 physdev 模組來過濾特定界面的封包,例如:
iptables -A forward -m physdev --physdev-in eth0 -j DROP
(從 eth0 進來的封包都丟掉)iptables -A forward -m physdev --physdev-out eth0 -j DROP
(從 eth0 進來的封包都丟掉)iptables -A forward -m physdev --physdev-is-in DROP
(進入 bridge 界面的封包都丟掉)iptables -A forward -m physdev --physdev-is-out DROP
(從 bridge 界面送出去的封包都丟掉)