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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux网络_防火墙-iptables基础

發(fā)布時(shí)間:2025/3/18 linux 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux网络_防火墙-iptables基础 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

定義:

防火墻:是用于實(shí)現(xiàn)Linux下訪問(wèn)控制的功能。

分類(lèi):硬件或者軟件防火墻。

3、4層的防火墻,叫網(wǎng)絡(luò)層的防火墻;7層的防火墻,即代理層的網(wǎng)關(guān)。

TCP/IP的七層模型,第三層是網(wǎng)絡(luò)層,三層的防火墻會(huì)在這層對(duì)源地址和目標(biāo)地址進(jìn)行檢測(cè)。

對(duì)于七層的防火墻,不管你源端口或者目標(biāo)端口,源地址或者目標(biāo)地址是什么,都將對(duì)你所有的東西進(jìn)行檢查。

所以,對(duì)于設(shè)計(jì)原理來(lái)講,七層防火墻更加安全,但是這卻帶來(lái)了效率更低。

無(wú)論是在哪個(gè)網(wǎng)絡(luò)中,防火墻工作的地方一定是在網(wǎng)絡(luò)的邊緣。而我們的任務(wù)就是需要去定義到底防火墻如何工作,即防火墻的策略,規(guī)則,以達(dá)到讓它對(duì)出入網(wǎng)絡(luò)的IP、數(shù)據(jù)進(jìn)行檢測(cè)。

原理:

工作在用戶空間中,定義規(guī)則的工具,本身并不算是防火墻。它們定義的規(guī)則,可以讓在內(nèi)核空間當(dāng)中的netfilter來(lái)讀取。而放入內(nèi)核的地方必須要是特定的位置,必須是tcp/ip的協(xié)議棧經(jīng)過(guò)的地方。而這個(gè)tcp/ip協(xié)議棧必須經(jīng)過(guò)的地方,可以實(shí)現(xiàn)讀取規(guī)則的地方就叫做 netfilter.(網(wǎng)絡(luò)過(guò)濾器)

在內(nèi)核空間中選擇了5個(gè)位置:

? ? 1.內(nèi)核空間中:從一個(gè)網(wǎng)絡(luò)接口進(jìn)來(lái),到另一個(gè)網(wǎng)絡(luò)接口去的

? ? 2.數(shù)據(jù)包從內(nèi)核流入用戶空間的

? ? 3.數(shù)據(jù)包從用戶空間流出的

? ? 4.進(jìn)入/離開(kāi)本機(jī)的外網(wǎng)接口

? ? 5.進(jìn)入/離開(kāi)本機(jī)的內(nèi)網(wǎng)接口

這五個(gè)位置也被稱(chēng)為五個(gè)鉤子函數(shù)(hook functions),也叫五個(gè)規(guī)則鏈。
1.PREROUTING (路由前)
2.INPUT (數(shù)據(jù)包流入口)
3.FORWARD (轉(zhuǎn)發(fā)網(wǎng)卡)
4.OUTPUT(數(shù)據(jù)包出口)
5.POSTROUTING(路由后)
? ? ? ?NetFilter規(guī)定的五個(gè)規(guī)則鏈,任何一個(gè)數(shù)據(jù)包,只要經(jīng)過(guò)本機(jī),必將經(jīng)過(guò)這五個(gè)鏈中的其中一個(gè)鏈。 ?
?

用的比較多個(gè)功能有3個(gè):

1.filter 定義允許或者不允許的

2.nat 定義地址轉(zhuǎn)換的?

3.mangle功能:修改報(bào)文原數(shù)據(jù)

filter來(lái)講一般只能做在3個(gè)鏈上:INPUT ,FORWARD ,OUTPUT
nat來(lái)講一般也只能做在3個(gè)鏈上:PREROUTING ,OUTPUT ,POSTROUTING
mangle則是5個(gè)鏈都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

規(guī)則的寫(xiě)法:

?iptables定義規(guī)則的方式比較復(fù)雜:
?格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION
?-t table :3個(gè)filter nat mangle
?COMMAND:定義如何對(duì)規(guī)則進(jìn)行管理
?chain:指定你接下來(lái)的規(guī)則到底是在哪個(gè)鏈上操作的,當(dāng)定義策略的時(shí)候,是可以省略的。 5個(gè)鏈
?CRETIRIA:指定匹配標(biāo)準(zhǔn)
?-j ACTION :指定如何進(jìn)行處理

?比如:不允許172.16.0.0/24的進(jìn)行訪問(wèn)。
?iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP
?當(dāng)然你如果想拒絕的更徹底:
?iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT

?iptables -L -n -v#查看定義規(guī)則的詳細(xì)信息
?

詳解COMMAND:

1.鏈管理命令(這都是立即生效的)
-P :設(shè)置默認(rèn)策略的(設(shè)定默認(rèn)門(mén)是關(guān)著的還是開(kāi)著的)
默認(rèn)策略一般只有兩種
iptables -P INPUT (DROP|ACCEPT) ?默認(rèn)是關(guān)的/默認(rèn)是開(kāi)的
比如:
iptables -P INPUT DROP 這就把默認(rèn)規(guī)則給拒絕了。并且沒(méi)有定義哪個(gè)動(dòng)作,所以關(guān)于外界連接的所有規(guī)則包括Xshell連接之類(lèi)的,遠(yuǎn)程連接都被拒絕了。
????????-F: FLASH,清空規(guī)則鏈的(注意每個(gè)鏈的管理權(quán)限)
????iptables -t nat -F PREROUTING
????iptables -t nat -F 清空nat表的所有鏈
????????-N:NEW 支持用戶新建一個(gè)鏈
????????????iptables -N inbound_tcp_web 表示附在tcp表上用于檢查web的。
????????-X: 用于刪除用戶自定義的空鏈
????????????使用方法跟-N相同,但是在刪除之前必須要將里面的鏈給清空昂了
????????-E:用來(lái)Rename chain主要是用來(lái)給用戶自定義的鏈重命名
????????????-E oldname newname
?????????-Z:清空鏈,及鏈中默認(rèn)規(guī)則的計(jì)數(shù)器的(有兩個(gè)計(jì)數(shù)器,被匹配到多少個(gè)數(shù)據(jù)包,多少個(gè)字節(jié))
????????????iptables -Z :清空
?
2.規(guī)則管理命令
?????????-A:追加,在當(dāng)前鏈的最后新增一個(gè)規(guī)則
?????????-I num : 插入,把當(dāng)前規(guī)則插入為第幾條。
????????????-I 3 :插入為第三條
?????????-R num:Replays替換/修改第幾條規(guī)則
????????????格式:iptables -R 3 …………
?????????-D num:刪除,明確指定刪除第幾條規(guī)則
????????
3.查看管理命令 “-L”
?附加子命令
?-n:以數(shù)字的方式顯示ip,它會(huì)將ip直接顯示出來(lái),如果不加-n,則會(huì)將ip反向解析成主機(jī)名。
?-v:顯示詳細(xì)信息
?-vv
?-vvv :越多越詳細(xì)
?-x:在計(jì)數(shù)器上顯示精確值,不做單位換算
?--line-numbers : 顯示規(guī)則的行號(hào)
?-t nat:顯示所有的關(guān)卡的信息
?
五:詳解匹配標(biāo)準(zhǔn)

1.通用匹配:源地址目標(biāo)地址的匹配
?-s:指定作為源地址匹配,這里不能指定主機(jī)名稱(chēng),必須是IP
IP | IP/MASK | 0.0.0.0/0.0.0.0
而且地址可以取反,加一個(gè)“!”表示除了哪個(gè)IP之外
?-d:表示匹配目標(biāo)地址
?-p:用于匹配協(xié)議的(這里的協(xié)議通常有3種,TCP/UDP/ICMP)
?-i eth0:從這塊網(wǎng)卡流入的數(shù)據(jù)
流入一般用在INPUT和PREROUTING上
?-o eth0:從這塊網(wǎng)卡流出的數(shù)據(jù)
流出一般在OUTPUT和POSTROUTING上
????????
2.擴(kuò)展匹配
2.1隱含擴(kuò)展:對(duì)協(xié)議的擴(kuò)展
????-p tcp :TCP協(xié)議的擴(kuò)展。一般有三種擴(kuò)展
--dport XX-XX:指定目標(biāo)端口,不能指定多個(gè)非連續(xù)端口,只能指定單個(gè)端口,比如
--dport 21 ?或者 --dport 21-23 (此時(shí)表示21,22,23)
--sport:指定源端口
--tcp-fiags:TCP的標(biāo)志位(SYN,ACK,FIN,PSH,RST,URG)
????對(duì)于它,一般要跟兩個(gè)參數(shù):
1.檢查的標(biāo)志位
2.必須為1的標(biāo)志位
--tcpflags syn,ack,fin,rst syn ??= ???--syn
表示檢查這4個(gè)位,這4個(gè)位中syn必須為1,其他的必須為0。所以這個(gè)意思就是用于檢測(cè)三次握手的第一次包的。對(duì)于這種專(zhuān)門(mén)匹配第一包的SYN為1的包,還有一種簡(jiǎn)寫(xiě)方式,叫做--syn
????-p udp:UDP協(xié)議的擴(kuò)展
????????--dport
????????--sport
????-p icmp:icmp數(shù)據(jù)報(bào)文的擴(kuò)展
????????--icmp-type:
echo-request(請(qǐng)求回顯),一般用8 來(lái)表示
所以 --icmp-type 8 匹配請(qǐng)求回顯數(shù)據(jù)包
echo-reply (響應(yīng)的數(shù)據(jù)包)一般用0來(lái)表示
??????????????????
2.2顯式擴(kuò)展(-m)
?????擴(kuò)展各種模塊
??????-m multiport:表示啟用多端口擴(kuò)展
??????之后我們就可以啟用比如 --dports 21,23,80
??????????????????
????????
六:詳解-j ACTION

?常用的ACTION:
?DROP:悄悄丟棄
一般我們多用DROP來(lái)隱藏我們的身份,以及隱藏我們的鏈表
?REJECT:明示拒絕
?ACCEPT:接受
custom_chain:轉(zhuǎn)向一個(gè)自定義的鏈
?DNAT
?SNAT
?MASQUERADE:源地址偽裝
?REDIRECT:重定向:主要用于實(shí)現(xiàn)端口重定向
?MARK:打防火墻標(biāo)記的
?RETURN:返回
在自定義鏈執(zhí)行完畢后使用返回,來(lái)返回原規(guī)則鏈。
?

轉(zhuǎn)載于:https://my.oschina.net/u/1014520/blog/2885331

總結(jié)

以上是生活随笔為你收集整理的linux网络_防火墙-iptables基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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