centos6-iptables防火墻
iptables命令中常見的控制類型有:
ACCEPT:允許通過
LOG:記錄日誌信息,然後傳給下一條規則繼續匹配
REJECT:拒絕通過,必要時會給出提示
DROP:直接丟棄,不給出任何回應
規則鏈依據處理數據包的位置不同而進行分類:
PREROUTING:在進行路由選擇前處理數據包
INPUT:處理入站的數據包
OUTPUT:處理出站的數據包
FORWARD:處理轉發的數據包
POSTROUTING:在進行路由選擇後處理數據包
Iptables中的規則表是用於容納規則鏈,規則表默認是允許狀態的,那麽規則鏈就是設置被禁止的規則,而反之如果規則表是禁止狀態的,那麽規則鏈就是設置被允許的規則。
raw表:確定是否對該數據包進行狀態跟蹤
mangle表:為數據包設置標記
nat表:修改數據包中的源、目標IP地址或端口
filter表:確定是否放行該數據包(過濾)
規則表的先後順序:raw→mangle→nat→filter
入站順序:PREROUTING→INPUT
出站順序:OUTPUT→POSTROUTING
轉發順序:PREROUTING→FORWARD→POSTROUTING
iptables:
-P 設置默認策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空規則鏈
-L 查看規則鏈
-A 在規則鏈的末尾加入新規則
-I num 在規則鏈的頭部加入新規則
-D num 刪除某一條規則
-s 匹配來源地址IP/MASK,加嘆號"!"表示除這個IP外。
-d 匹配目標地址
-i 網卡名稱 匹配從這塊網卡流入的數據
-o 網卡名稱 匹配從這塊網卡流出的數據
-p 匹配協議,如tcp,udp,icmp
--dport num 匹配目標端口號
--sport num 匹配來源端口號
環境:
xp(外網client):192.168.200.10
IPtables防火墻:192.168.200.101(外網)
192.168.10.1(內網)
192.168.20.1(內網DMZ)
nginx server: 192.168.20.2
local client: 192.168.10.2 GW:192.168.10.1
IPtable防火墻網絡配置:
nmtui
systemctl restart network
ip addr
1. 安裝IPtables軟件包。
systemctl stop firewalld.service
systemctl disable firewalld.service
yum install -y iptables-services
2、啟用路由轉發。
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
3、配置內部主機訪問外網。
iptables -t nat -A POSTROUTING -o ens32(#外網網卡) -s 192.168.10.0/24 -j SNAT --to-source 192.168.200.101
iptables -t nat -L
iptables save
4、設置防火墻主機拒絕icmp數據包。
iptables -t filter -I INPUT -p icmp --icmp-type 8 -j REJECT
iptables -t filter -L
iptables save
5、發布DMZ區域的Web服務器。
yum install -y epel-release
yum install -y nginx
systemctl restart nginx
systemctl enable nginx
ss -ntlu | grep 80
iptables -t nat -A PREROUTING -d 11.23.0.215 -p tcp --dport 80 -j DNAT --to-destination 192.168.10..:80
iptables save
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere 01 tcp dpt:http to:192.168.20.2:80
6、禁止內網主機訪問特定網站。
iptables -t filter -I FORWARD -s 192.168.10.0/24 -d www.weibo.com -j DROP
iptables save
iptables -t filter -L
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- 192.168.10.0/24 180.149.134.141
DROP all -- 192.168.10.0/24 180.149.134.142
centos6-iptables防火墻