iptables

iptables

iptables的三個表

1.filter(類似ACL):系統預設,主要用於過濾數據包,內建三個鏈

  • INPUT:作用於進入本機的包

  • OUTPUT:作用於本機發出的包

  • FORWARD:作用於那些跟本機無關的包(即期望靠本系統轉發的包)

2.nat:主要用處是地址轉換,也有三個鏈

  • PREROUTING:更改包的目的地址

  • OUTPUT:更改本地(本機)產生的包的目的地址

  • POSTROUTING:更改包的源地址

3.mangle:主要用於給數據包打tag,然後根據標記去操作哪些包(類似Qos)

spacer.gifwKioL1aovQOxlr8YAAD2BqXQiSI636.png

-t:指定表名,默認爲filter表

-nvL:使用ip形式查看詳細的規則列表

--line-numbers:顯示規則序號

-F:清除當前規則

-Z:重置數據包和流量的計數器

/etc/init.d/iptables save:保存規則

防火牆規則保存在/etc/sysconfig/iptables文件中

-A chain:增加一條規則

-D chain刪除一條規則
-I chain:插入一條規則
-p:指定協議,可以是 tcp, udp 或者 icmp
--dport:跟-p 一起使用,指定目標端口
--sport:跟-p 一起使用,指定
源端口

-s :指定源 IP(可以是一個 ip 段)
-d:指定目的 IP(可以是一個 ip 段)
-j:後跟動作,其中 ACCEPT 表示允許包通過, DROP 表示丟棄包, REJECT 表示拒絕包
-i:指定進接口(不常用,但有時候能用到)

-o:指定出接口

-P chain:指定預設策略,DROP或ACCEPT(默認)


iptables -I INPUT -m iprange --src-range 61.4.176.0-61.4.191.255 -j DROP    \\針對一個地址範圍

iptables -I INPUT -p icmp --icmp-type 8 -j DROP    \\丟棄echo-request報文


nat表的應用

------------案例:使用同一個公網IP上網-----------

[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/ip_forward    //啓用路由轉發功能,默認是0

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE    //設置SNAT策略

MASQUERADE參數的作用:使用該接口的地址作爲包的源地址;主要使用在動態獲取公網地址的環境

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.1.4 -o eth0 -j SNAT --to 10.11.11.11    //使用指定地址替換源地址

------------案例:隱藏實際服務器地址-----------

[root@localhost ~]# sysctl -w net.ipv4.ip_forward=1    //啓用路由轉發功能,默認是0

[root@localhost ~]# iptables -t nat -A PREROUTING -d 114.21.35.66 -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.1.4:8080    //使用指定地址替換目的地址和端口



保存以及備份iptables規則

service iptables save    //保存iptables規則

service iptables stop    //停止iptables時會清除iptables規則,與iptables -F不同的是它還會重置預設策略爲ACCEPT

iptables-save[-t table]>filename    //備份iptables規則

iptables-restore[-t table]<filename    //還原iptables規則



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章