日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下iptables讲解

發布時間:2024/4/14 linux 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下iptables讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

iptables(netfilter網絡過濾器)

iptables是linux上特有的防火墻機制,功能非常強大。CentOS默認是沒有iptables規則。

iptables命令可用于配置Linux的包過濾規則,常用于實現防火墻、NAT。

?

常用選項:

iptables -nvL?查看規則(-n為數字顯示輸出的ip地址和端口 -v 為可視化顯示 -L為列出所有的規則)

iptables -F ??清除規則(flush清除);清除只是臨時的,重啟系統或者重啟iptables服務后還會加載已經保存的規則。清除之后要保存規則。

/etc/init.d/iptables save ?或 service iptables save??保存規則

防火墻規則保存在配置文件 ? ?/etc/sysconfig/iptables

iptables -Z?? ?計數器清零(zero)

service iptables stop?? ?暫停防火墻服務,并清除防火墻規則,但是重啟后會讀取/etc/sysconfig/iptables 從而啟動防火墻。即使我們停止防火墻,但是一旦添加任何一條規則,它也會開啟。

iptables -t?? ?指定表名(table),默認不加-t 則是filter表;

?

直觀圖便于理解,4個表,5個鏈;

?

?

filter 這個表主要用于過濾包的,是系統預設的表,內建三個鏈INPUT、OUTPUT以及FORWARD。INPUT作用于進入本機的包;OUTPUT作用于本機送出的包;FORWARD作用于那些跟本機無關的包。??

nat 主要用處是網絡地址轉換、端口映射,也有三個鏈。PREROUTING?鏈的作用是在包剛剛到達防火墻時改變它的目的地址,如果需要的話。OUTPUT鏈改變本地產生的包的目的地址。POSTROUTING鏈在包就要離開防火墻之前改變其源地址。?

mangle?主要用于修改數據包的TOS(Type Of Service,服務類型)、TTL(Time ToLive,生存周期)值以及為數據包設置Mark標記,以實現Qos (Quality of Service,服務質量)調整以及策略路由等應用,由于需要相應的路由設備支持,因此應用并不廣泛。?五個鏈:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD

raw? ?對報文設置一個標志,決定數據包是否被狀態跟蹤機制處理???只有兩個鏈:OUTPUT、PREROUTING?

?

iptables規則相關:
查看規則????iptables -t nat -nvL
清除規則????iptables -t nat -F
增加/刪除規則????iptables -A/-D INPUT -s 10.72.11.12 -p tcp --sport 1234 -d 10.72.137.159 --dport 80 -j DROP?
插入規則????iptables -I INPUT -s 1.1.1.1 -j DROP/ACCEPT/REJECT?
iptables -nvL --line-numbers????查看規則帶有id號
iptables -D INPUT 1 ????根據規則的id號刪除對應規則
iptables -P INPUT DROP????用來設定默認規則,默認是ACCEPT ,一旦設定為DROP后,只能使用 iptables -P ACCEPT 才能恢復成原始狀態,而不能使用-F參數;

?

把ip為192.168.20.0網段所有數據包都丟掉

1 [root@yong?~]#?iptables?-I?INPUT?-s?192.168.20.0?-j?DROP

刪除規則的話,要與添加規則的后綴一樣才可以;

1 [root@yong?~]#?iptables?-D?INPUT?-s?192.168.20.0?-j?DROP

把1.1.1.1 訪問本地tcp協議80端口的所有數據包都丟掉;

1 [root@yong?~]#?iptables?-I?INPUT?-s?1.1.1.1?-p?tcp?--dport?80?-j?DROP

把發送到10.0.1.14的22端口的所有數據包丟掉;

1 [root@yong?~]#?iptables?-I?OUTPUT?-p?tcp?--dport?22?-d?10.0.1.14?-j?DROP

使用這個命令查看規則帶有id號顯示;

1 2 3 4 5 [root@yong?~]#?iptables?-nvL?--line-number Chain?INPUT?(policy?ACCEPT?84?packets,?5944?bytes) num???pkts?bytes?target?????prot?opt?in?????out?????source???????????????destination????????? 1????????0?????0?DROP???????tcp??--??*??????*???????1.1.1.1??????????????0.0.0.0/0???????????tcp?dpt:80? 2????????0?????0?DROP???????all??--??*??????*???????192.168.20.0?????????0.0.0.0/0

然后刪除的時候使用iptables -D INPUT 1 ? ?刪除上面的1規則,不用寫很長的后綴。

?

?

禁止別人ping你的主機,你可以ping別人;只需要添加一條規則;icmp-type 8 可以實現;

[root@yong?~]#?iptables?-I?INPUT?-p?icmp?--icmp-type?8?-j?DROP

?

?

示例,編一個腳本,針對filter表,所有的INPUT鏈DROP,其他兩個鏈ACCEPT,然后針對192.168.20.0/24網段開通22端口可以連接主機;對所有網段開放80端口;對所有網段開通21端口;

1 2 3 4 5 6 7 8 9 10 [root@yong?~]#?vim?iptables.sh? #!?/bin/bash???? ipt="/sbin/iptables" $ipt?-F $ipt?-P?INPUT?DROP $ipt?-P?OUTPUT?ACCEPT $ipt?-P?FORWARD?ACCEPT $ipt?-A?INPUT?-s?192.168.20.0/24?-p?tcp?--dport?22?-j?ACCEPT $ipt?-A?INPUT?-p?tcp?--dport?80?-j?ACCEPT $ipt?-A?INPUT?-p?tcp?--dport?21?-j?ACCEPT
1 [root@yong?~]#?sh?iptables.sh

運行腳本即可,如果想開機運行防火墻規則的話,在/etc/rc.d/rc.local 添加一行“/bin/sh /root/iptables.sh”

nat表應用:
路由器就是使用iptables的nat原理實現.


假設您的機器上有兩塊網卡eth0和eth1,其中eth0的IP為192.168.4.11,eth1的IP為192.168.20.1 。eth0連接了internet 但eth1沒有連接,現在有另一臺機器(192.168.20.10)和eth1是互通的,那么如何設置也能夠讓連接eth1的這臺機器能夠連接internet??

1 2 3 4 [root@yong?~]#?cat?/proc/sys/net/ipv4/ip_forward 0 [root@yong?~]#?echo?"1"?>?/proc/sys/net/ipv4/ip_forward? [root@yong?~]#?iptables?-t?nat?-A?POSTROUTING?-s?192.168.20.0/24?-o?eth0?-j?MASQUERADE

?/proc/sys/net/ipv4/ip_forward 為內核參數相關的文件,默認為0,1為打開路由轉發功能。

第2條命令為iptables對nat表做了一個IP轉發的操作,-o 后面跟設備名,表示出口的網卡。MASQUERADE表示偽裝的意思;讓192.168.20.0網段通過eth0偽裝出去連接上網。

?

iptables規則備份與恢復:
service iptables save????這樣會保存到/etc/sysconfig/iptables?,如果以后遇到備份防火墻規則的任務,就是拷貝一份這個文件的副本。
iptables-save > myipt.rule????可以把防火墻規則保存到指定文件中;
iptables-restore < myipt.rule????這樣可以恢復指定的規則;

1 2 3 4 5 6 [root@yong?~]#?iptables-save?>?myipt.rule [root@yong?~]#?service?iptables?stop iptables:?Setting?chains?to?policy?ACCEPT:?nat?filter??????[??OK??] iptables:?Flushing?firewall?rules:?????????????????????????[??OK??] iptables:?Unloading?modules:???????????????????????????????[??OK??] [root@yong?~]#?iptables-restore?<?myipt.rule

轉載于:https://www.cnblogs.com/yuzhaokai0523/p/4453098.html

總結

以上是生活随笔為你收集整理的linux下iptables讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。