iptables 詳細的使用指南
網(wǎng)關服務器安全策略
目標 : 網(wǎng)關服務器系統(tǒng)自生安全策略,只對內(nèi)網(wǎng)用戶開放22端口(sshd服務)
#清空 filter table
[root@localhost]# iptables -F -t filter
[root@localhost]# iptables -X -t filter
[root@localhost]# iptables -Z -t filter
#清空 nat table
[root@localhost]# iptables -F -t nat
[root@localhost]# iptables -X -t nat
[root@localhost]# iptables -Z -t nat
#設置默認策略(INPUT鏈默認為DROP)
[root@localhost]# iptables -t filter -P INPUT drop
[root@localhost]# iptables -t filter -P OUTPUT ACCEPT
[root@localhost]# iptables -t filter -P FORWARD ACCEPT
#回環(huán)接口(lo),默認accept
[root@localhost]# iptables -A INPUT -p ALL -i lo -j ACCEPT
#只對內(nèi)網(wǎng)用戶開放sshd服務
[root@localhost]# iptables -A INPUT -p tcp -s 192.168.138.0/24 --dport 22 -j ACCEPT
說明: 防火墻的策略順序一般都是 從 非信任 ==> 信任,默認關閉所有訪問權限,然后按照需要逐條開放訪問權限.
共享上網(wǎng)(nat)
目標:使局域網(wǎng)的用戶都可以訪問外網(wǎng)的服務器
[root@localhost]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@localhost]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
說明: SNAT 和 MASQUERADE 區(qū)別
SNAT : 不管是幾個地址,必須明確的指定要SNAT的ip,適合網(wǎng)關服務器有固定地址或者是固定地址范圍. MASQUERADE : 是針對ADSL動態(tài)撥號這種場景而設計,從服務器的網(wǎng)絡接口上,自動獲取當前ip地址來做NAT,這樣就實現(xiàn)了動態(tài)SNAT地址轉換
內(nèi)網(wǎng)的服務器對外服務(端口映射)
目標:使外網(wǎng)用戶可以訪問到局域網(wǎng)192.168.138.21這臺HTTP服務
[root@localhost]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@localhost]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.138.21
[root@localhost]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
在網(wǎng)關服務器進行透明代理
目標: 使局域網(wǎng)用戶,訪問外網(wǎng)web服務時,自動使用squid作web透明代理服務器。
[root@localhost]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@localhost]# iptables -t nat -A PREROUTING -s 192.168.138.0/24 -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.138.1
[root@localhost]# iptables -t nat -A PREROUTING -s 192.168.138.0/24 -p tcp --dport 80 -i eth0 -j REDIRECT --to 3128
[root@localhost]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE