CentOS配置iptables

1、iptables表和鏈的結構(四表五鏈)

1.四張表處理優先級: raw>mangle>nat>filter

raw: 優先級最高, 設置raw通常是爲了避免再讓iptables作數據包的跟蹤連接處理, 提升性能.vim

mangle: 用於對特定數據包的修改.ssh

nat: 用於nat功能端口或者地址映射.tcp

filter: 通常的過濾功能.ide

2.五鏈:INPUT, FORWARD, OUTPUT, PREROUTING, POSTROUTING

raw表中的鏈有: PREROUTING, OUTPUToop

mangle表中的鏈有: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING性能

nat表中的鏈有: PREROUTING, POSTROUTING, OUTPUT優化

filter表中的鏈有: INPUT, FORWARD, OUTPUTspa

3.iptables經常使用參數:

tip: iptable -h都能看到對應的解釋rest

規則增刪改查:code

參數 做用
-A 在規則鏈的末尾加入新規則
-I 在規則鏈的頭部加入新規則
-D 刪除
-R 修改
-L 查看
-P 設置默認策略 , iptables -P INPUT DROP
-F 清空默認規則鏈
-X 刪除自定義空鏈

經常使用參數:

參數 做用
-p 指定協議 tcp/udp/icmp
-s 指定源地址 ip/mask , 加歎號 「!」 表示相反的意思
-d 匹配目標地址
–sport 匹配來源端口號
–dport 匹配目端口號
-i 匹配從這塊網卡流入的數據
-o 匹配從這塊網卡流出的數據
-m 加載模塊
-t 指定表, 默認filter表. iptables -L - nat/mangle/raw
-j 指定處理的動做 , ACCEPT/DROP

經常使用處理動做:

動做 做用
ACCEPT 容許封包經過,:將數據包放行,進行完此動做後,再也不對比其餘規則,直接跳往下一個規則鏈.
DROP 丟棄封包,響應超時,對方沒法判斷主機是否在線或者流量被拒絕,再也不對比其餘規則,中斷過濾.
REJECT 拒絕封包經過,並將數據包封裝,返回消息,對方看到主機口不可達.
REDIRECT 將包重定向到另外一個端口,以後繼續對比其餘規則.
MASQUERADE 改寫封包來源ip爲防火牆NIC ip , 可指定port範圍 , 以後跳往下一規則.
SNAT 改寫封包來源ip爲某特定ip或ip範圍 , 可指定 port 範圍 , 以後跳往下一規則.
DNAT 改寫封包目的ip爲某特定ip或ip範圍, 可指定port範圍 , 以後跳往下一規則.

2、配置filter表防火牆

tip: 通常設置默認規則,INPUT鏈和FORWARD鏈爲DROP , OUTPUT鏈爲ACCEPT

1.清除預設表filter中的全部規則鏈的規則

  • iptables -F

2.清除預設表filter中使用者自定鏈中的規則



 
     
  • iptables -X

3.設定預設規則

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP


4.根據本身機器的實際狀況開啓相應端口

# 容許迴環loopback訪問

$ iptables -A INPUT -i lo -j ACCEPT

$ iptables -A OUTPUT -o lo -j ACCEPT   (output鏈的默認策略設置爲DROP時,須要添加這條,如下針對的每一個端口同此同樣.)

#開啓22端口,ssh才能登陸.

$ iptables -A INPUT -p tcp --dport 22 -j ACCEPT

$ iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

或者

$ iptables -A INPUT -i eth0 -s 192.168.2.100 -p tcp --dport 22 -j ACCEPT #指定eth1網卡和192.168.2.100容許ssh登陸

$ iptables -A OUTPUT -o eth0 -s 192.168.2.100 -p tcp --dport 22 -j ACCEPT

#容許ping(即icmp包經過)

$ iptables -A INPUT -p icmp -j ACCEPT

$ iptables -A OUTPUT -p icmp -j ACCEPT

#使ping域名能夠獲得響應

$ iptables -A INPUT -p udp --sport 53 -j ACCEPT

$ iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

$ iptables -A INPUT -p udp --dport 53 -j ACCEPT

$ iptables -A OUTPUT -p udp --sport 53 -j ACCEPT

tip: 除了以上用命令去添加規則,還能夠用編輯文件的方式 vim /etc/sysconfig/iptables


5.保存iptables配置


1
service iptables save

6.重啓iptables服務


1
service iptables restart

7.查看iptables規則


1
iptables -L -n

8.iptables優化:

請求比較頻繁的放在最上面,請求頻率較小的放在最後面.這裏整理關於防火牆的東西,不是具體的知識,更多工操做使用,具體的防火牆知識,還須要去閱讀參考網上寫的各類文章,須要多讀多看多試,才能理解深刻.

相關文章
相關標籤/搜索