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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux下iptables讲解

發(fā)布時間:2024/9/5 linux 54 如意码农
生活随笔 收集整理的這篇文章主要介紹了 linux下iptables讲解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

iptables(netfilter網(wǎng)絡過濾器)

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

iptables命令可用于配置Linux的包過濾規(guī)則,常用于實現(xiàn)防火墻、NAT。

常用選項:

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

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

/etc/init.d/iptables save  或 service iptables save  保存規(guī)則

防火墻規(guī)則保存在配置文件    /etc/sysconfig/iptables

iptables -Z    計數(shù)器清零(zero)

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

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

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

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

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

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

raw   對報文設置一個標志,決定數(shù)據(jù)包是否被狀態(tài)跟蹤機制處理   只有兩個鏈:OUTPUT、PREROUTING

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

把ip為192.168.20.0網(wǎng)段所有數(shù)據(jù)包都丟掉

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

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

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

把1.1.1.1 訪問本地tcp協(xié)議80端口的所有數(shù)據(jù)包都丟掉;

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

把發(fā)送到10.0.1.14的22端口的所有數(shù)據(jù)包丟掉;

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

使用這個命令查看規(guī)則帶有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規(guī)則,不用寫很長的后綴。

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

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

示例,編一個腳本,針對filter表,所有的INPUT鏈DROP,其他兩個鏈ACCEPT,然后針對192.168.20.0/24網(wǎng)段開通22端口可以連接主機;對所有網(wǎng)段開放80端口;對所有網(wǎng)段開通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

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

nat表應用:
路由器就是使用iptables的nat原理實現(xiàn).

假設您的機器上有兩塊網(wǎng)卡eth0和eth1,其中eth0的IP為192.168.4.11,eth1的IP為192.168.20.1 。eth0連接了internet 但eth1沒有連接,現(xiàn)在有另一臺機器(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 為內核參數(shù)相關的文件,默認為0,1為打開路由轉發(fā)功能。

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

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

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

總結

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

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