九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
iptables詳解
1
 防火墻簡介


防火墻其實就是一個加固主機或網(wǎng)絡安全的一個設備或者軟件而已,通過防火墻可以隔離風險區(qū)域與安全區(qū)域的連接,同時不會妨礙風險區(qū)域的訪問。世界上沒有絕對的網(wǎng)絡安全,世界上70%的網(wǎng)絡安全事件,都是發(fā)生在防火墻內(nèi)部。嚴謹?shù)牟僮髁晳T,程序化的操作準則,才是最好的防火墻。


2
 防火墻的分類


1、從特點上分類


第一種,軟件防火墻,軟件防火墻需要運行在特定的計算機上,而且需要計算機的操作系統(tǒng)的支持。

第二種,硬件防火墻,硬件防火墻其實就是一個普通pc機的架構(gòu),然后上面跑有專門的操作系統(tǒng)。

第三種,芯片級的防火墻,這種防火墻基于專門的硬件平臺,沒有操作系統(tǒng),專有的ASIC芯片使它們比其他類的防火墻速度更快,處理能力極強,性能更高,但是價格卻極其昂貴。


2、從技術(shù)上分類


第一種,包過濾型防火墻,這類的防火墻主要是工作在網(wǎng)絡層,根據(jù)事先設定好的規(guī)則進行檢查,檢查結(jié)果根據(jù)事先設定好的處理機制進行處理。

第二種,應用層防火墻,它是工作在TCP/IP模型中的最高層應用層,相比較來說速度要慢一點。

第三種,狀態(tài)監(jiān)視器,狀態(tài)監(jiān)視做為防火墻其安全性為最佳,但配置比較復雜,且網(wǎng)絡速度較慢。


3
 防火墻在企業(yè)中的部署


1、單宿主堡壘主機


是單臺服務器有防火墻,只為單臺服務器防護。


2、雙宿主堡壘主機


雙宿主堡壘主機是一臺裝有兩塊網(wǎng)卡的堡壘主機,一般這臺堡壘主機應用在網(wǎng)關(guān),防護局域網(wǎng)跟廣域網(wǎng)之間通信等安全。



3、三宿主堡壘主機


三宿主堡壘主機是一臺裝有三塊網(wǎng)卡的堡壘主機,那么他將外網(wǎng),內(nèi)網(wǎng),DMZ 三個區(qū)域隔離開來,同時保護內(nèi)網(wǎng)已經(jīng)DMZ區(qū)域的安全等。


4、背靠背型


內(nèi)網(wǎng)、外網(wǎng)、DMZ區(qū)域都用單獨的防火墻分隔開

如下圖:


4
 iptables介紹


iptables/netfilter(官方網(wǎng)站,http://www.netfilter.org)


可以通過iptables系統(tǒng)服務命令對iptables進行關(guān)閉開啟和停止操作,看似iptables像是Linux上的一個服務,其實不是。


linux系統(tǒng)上的服務比如說httpd服務在啟動起來的時候,是不是在后臺啟動一個相應的服務進程且在網(wǎng)卡上監(jiān)聽一個端口,而iptables卻不然,那么iptables到底是什么呢?其實iptables只是一個工具而已.我們的linux系統(tǒng)有用戶空間,和內(nèi)核空間,而iptables有兩個組件,一是netfilter,  netfilter組件只是用來過濾防火墻規(guī)則,及作出相應的處理機制的,它是集成在內(nèi)核中的一部分,也就是說它是工作在內(nèi)核空間的,那么大家都知道用戶是不可能直接跟內(nèi)核空間打交道的,那么netfilter只是工作在內(nèi)核空間對規(guī)則進行處理的,那么規(guī)則從何而來呢? 是從iptables的第二個組件iptables而來的,我們上面說了iptables只是一個工作在用戶空間的一個工具而已,那么用戶就使用這個工具的一個命令來跟工作在內(nèi)核空間中的netfiter組件打交道的.其實iptables防火墻就是這樣的。



[root@WebServer ~]# /etc/init.d/iptables restart  # 重啟iptables服務

[root@WebServer ~]# service iptables restart

[root@WebServer ~]# chkconfig iptables on    # 設置開機自動啟動


5
 iptables的表和鏈


iptables常用的表有三個,分別為 filter表 nat表 mangle表, 和五個鏈 INPUT鏈 OUTPUT鏈 FORWARE鏈 POSTROUTING鏈 PREROUTING鏈,下面來介紹下它們的各個功能:


1、iptables中的表

filter:過濾,防火墻;nat:network address translation;用于修改源IP或目標IP,也可以改端口;mangle:拆解報文,做出修改,并重新封裝起來;raw:關(guān)閉nat表上啟用的連接追蹤機制;

使用iptables -t 指定使用哪個表,不指定,默認使用filter表


iptables -t nat


2、iptables中的鏈

PREROUTING:路由前INPUT:數(shù)據(jù)包流入口FORWARD:轉(zhuǎn)發(fā)管卡OUTPUT:數(shù)據(jù)包出口POSTROUTING:路由后


3、表和鏈的關(guān)聯(lián)


filter表

filter表主要是過濾數(shù)據(jù)包的,IPTABLES幾乎所有的數(shù)據(jù)包過濾都在此表中實現(xiàn)的,filter表也是IPTABLES中默認的表,此表中還包含三個鏈如下: INPUT鏈   過濾所有的目標地址是本機的數(shù)據(jù)包 OUTPUT鏈   過濾所有從本機出去的數(shù)據(jù)包 FORWORD鏈   過濾所有從本機路過的數(shù)據(jù)包


nat表 

nat表主要是用于做網(wǎng)絡地址轉(zhuǎn)換的(NAT),在iptables中可以做SNAT(源地址轉(zhuǎn)換),DNAT(目標地址轉(zhuǎn)換),PANT(即跟SNAT差不多,不一樣的是SNAT的源地址是固定的,而PNAT的源地址是不固定的,當使用ppp或pppoe的方式連接互聯(lián)網(wǎng)的時候一般適應這個) nat表中包含兩個鏈如下: a.PREROUTING鏈   在數(shù)據(jù)包到達防火墻的時候改變目標地址 DNAT應用于此鏈. b.OUTPUT鏈   可以改變本地產(chǎn)生的數(shù)據(jù)包的目標地址 c.POSTROUTING鏈    在數(shù)據(jù)包離開防火墻的時候改變源地址,SNAT應用于次鏈


mangle表

mangle表主要是修改數(shù)據(jù)包頭部信息的,此表中包含以下5條鏈: PREROUTING鏈,   在數(shù)據(jù)包進入防火墻之后,也稱為路由前, POSTROUTING鏈,   在數(shù)據(jù)包確定目標地址后,也稱為路由后, OUTPUT鏈   從本機出去的時間包路由前 INPUT鏈   數(shù)據(jù)包進入本機后,路由后 FORWARD鏈   第一次路由判斷之后,最后一次路由判斷之前改變數(shù)據(jù)包


4、數(shù)據(jù)包過濾流程


一張圖足以說明一切


6
 iptables的幾個狀態(tài)


iptables的狀態(tài)跟蹤連接有4種,分別是,NEW,ESTABLISHED,RELATED,INVALID,除了從本機出去的數(shù)據(jù)包有NAT表的OUTPUT鏈處理外,其他所有的狀態(tài)跟蹤都在NAT表中的PREROUTING鏈中處理,下面來說下4種狀態(tài)是什么,

NEW:新發(fā)出請求;連接追蹤模板中不存在此連接的相關(guān)信息條目,因此,將其識別為第一次發(fā)出的請求;ESTABLISHED:NEW狀態(tài)之后,連接追蹤模板中為其建立的條目失效之前期間內(nèi)所進行的通信狀態(tài);RELATED:相關(guān)聯(lián)的連接;如ftp協(xié)議中的數(shù)據(jù)連接與命令連接之間的關(guān)系;INVALID:無效的連接;UNTRACKED:未進行追蹤的連接;


7
 iptables命令介紹及使用


1、規(guī)則管理

iptables -A    添加一條新規(guī)則,追加,默認在最下面iptables -I    插入一條新規(guī)則 -I 后面加一數(shù)字表示插入到哪行,默認在最上面iptables -D    刪除一條新規(guī)則 -D 后面加一數(shù)字表示刪除哪行iptables -R    替換一條新規(guī)則 -R 后面加一數(shù)字表示替換哪行

使用示例:


iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # 在INPUT鏈添加一條規(guī)則

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # 在OUTPUT鏈添加一條規(guī)則

iptables -R INPUT 2 -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT # 將INPUT鏈上的第二條規(guī)則替換

iptables -R OUTPUT 1 -m state --state ESTABLISHED -j ACCEPT # 將OUTPUT鏈第一條規(guī)則替換


2、鏈管理


iptables -F    清空鏈中的所有規(guī)則iptables -N    新建一個鏈iptables -X    刪除一個自定義鏈,刪除之前要保證次鏈是空的,而且沒有被引用iptables -E    重命名鏈

使用示例:


iptables -t nat -F PREROUTING

iptables -t nat -F 清空nat表的所有鏈



3、默認規(guī)則管理

iptables -P    設置默認規(guī)

使用示例:

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD ACCEPT    # 設置這三條鏈上默認所有的數(shù)據(jù)包都drop掉

4、查看

iptables -L    查看規(guī)則 –L 還有幾個子選項如下iptables -L -n 以數(shù)字的方式顯示iptables -L -v 顯示詳細信息iptables -L -x 顯示精確信息iptables -L --line-numbers 顯示行號

5、條件匹配


(1)基本匹配

條件匹配也可以使用 ! 取反

-s    源地址-d    目標地址-p    協(xié)議{tcp|udp|icmp}-i    從哪個網(wǎng)絡接口進入,比如 -i eth0-o    從哪個網(wǎng)絡接口出去,比如 -o eth0


(2)擴展匹配

隱含擴展匹配

-p {tcp|udp} --sport   指定源端口-p {tcp|udp} --dport   指定目標端口

顯示擴展匹配

-m state --state   匹配狀態(tài)的-m mutiport --source-port   端口匹配 ,指定一組端口-m limit --limit 3/minute   每三分種一次-m limit --limit-burst  5   只匹配5個數(shù)據(jù)包-m string --string --algo bm|kmp --string 'xxxx'  匹配字符串-m time --timestart 8:00 --timestop 12:00  表示從哪個時間到哪個時間段-m time --days    表示那天-m mac --mac-source xx:xx:xx:xx:xx:xx 匹配源MAC地址-m layer7 --l7proto qq   表示匹配騰訊qq的 當然也支持很多協(xié)議,這個默認是沒有的,需要我們給內(nèi)核打補丁并重新編譯內(nèi)核及iptables才可以使用 -m layer7 這個顯示擴展匹


6、處理動作

-j ACCEPT   允許-j REJECT    拒絕-j DROP       拒絕并提示信息-j SNAT       源地址轉(zhuǎn)換-j DNAT       目標地址轉(zhuǎn)換-j REDIRECT   重定向-j MASQUERAED  地址偽裝-j LOG --log-prefix '說明信息,自己隨便定義'      記錄日志

使用示例:


iptables -A INPUT -i eth0 -s 192.168.100.0/24 -p tcp --dport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT


# 允許192.168.100.0/24網(wǎng)段的機器發(fā)送數(shù)據(jù)包從eth0網(wǎng)卡進入。如果數(shù)據(jù)包是tcp協(xié)議,而且目的端口是3128(因為REDIRECT已經(jīng)把80改為3128了,nat表的PREROUTING是在filter表的INPUT前面的),數(shù)據(jù)包的狀態(tài)必須是NEW或者ESTABLISHED的(NEW代表tcp三段式握手的“第一握”,換句話說就是,允許客戶端機器向服務器發(fā)出鏈接申請。ESTABLISHED表示通過握手已經(jīng)建立起鏈接),通過。


 iptables -A OUTPUT -o eth0 -d 192.168.100.0/24 -p tcp --sport 3128 -m state --state ESTABLISHED -j ACCEPT


# 數(shù)據(jù)包還得通過服務器,轉(zhuǎn)到內(nèi)網(wǎng)網(wǎng)卡上。請注意,這里,是squid幫你去訪問了你想要訪問的網(wǎng)站。所以在內(nèi)網(wǎng)中,你的機器是客戶端角色,而squid是服務器角色。這與剛才對外訪問的過程是不同的。所以在這里,源端口是3128,而不是32768:61000。


8
 iptables的腳本編寫


保存恢復規(guī)則:


iptables-save  >  /PATH/TO/SOME_RULES_FILE
iptables-save  >  /PATH/TO/SOME_RULES_FILE


可以將iptables的規(guī)則寫到某個文本文件中,在/etc/rc.d/rc.local中使用恢復規(guī)則。

當然,也可以直接寫iptables腳本,開機自動加載

幾個iptables腳本實例:

(1)利用iptables做nat,開放ftp數(shù)據(jù)傳輸,劃分DMZ區(qū)


#vim iptables.sh
#!/bin/bash
#
#定義變量
mynet=10.10.10.0/24
myip=10.10.10.100
IPT=/sbin/iptables
#加載ftp模塊
modprobe ip_conntrack-ftp
modprobe ip_nat_ftp
#開啟路由轉(zhuǎn)發(fā)功能
echo '1' /proc/sys/net/ipv4/ip_forward
#清空所有表中的規(guī)則
$IPT -F
$IPT -t nat –F
$IPT -t mangle –F
#刪除所有自定義鏈
$IPT -X
$IPT -t nat -X
$IPT -t mangle –X
#設置默認策略
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD ACCEPT
#允許狀態(tài)為ESTABLISHED,RELATED的訪問本機,及狀態(tài)為NEW的從本機出去
$IPT -A INOUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允許本地環(huán)回口訪問
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
#允許管理員主機訪問本地ssh服務
$IPT -A INPUT -s $myip -m state --state NEW -p tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -d $myip -p tcp --sport 22 -j ACCEPT
#允許局域網(wǎng)的ping請求
$IPT -A INPUT -s $mynet -p icmp --icmp-type 8 -j ACCEPT
$IPT -A OUTPUT -d $mynet -p icmp --icmp-type 0 -j ACCEPT
#為局域網(wǎng)做SNAT
$IPT -t nat -A POSTROUTING -s $mynet -j SNAT --to-source 222.95.1.97
#為局域網(wǎng)內(nèi)部的web服務器做DNAT
$IPT -t nat -A PREROUTING -d 222.95.1.97 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.1


(2)Web服務器常用iptables配置


iptables -F
iptables -X
iptables -F -t mangle
iptables -t mangle -X
iptables -F -t nat
iptables -t nat -X
# 首先,把三個表清空,把自建的規(guī)則清空。
 
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
# 設定INPUT、OUTPUT的默認策略為DROP,F(xiàn)ORWARD為ACCEPT。
 
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# 先把“回環(huán)”打開,以免有不必要的麻煩。
 
iptables -A INPUT -i eth  -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -o eth  -p icmp --icmp-type 0 -j ACCEPT
# 在所有網(wǎng)卡上打開ping功能,便于維護和檢測。
 
iptables -A INPUT -i eth0 -s 192.168.100.250 -d 192.168.100.1 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.100.250 -s 192.168.100.1 -p tcp --sport 22 -j ACCEPT
# 打開22端口,允許遠程管理。(設定了很多的附加條件:管理機器IP必須是250,并且必須從eth0網(wǎng)卡進入)
 
iptables -A INPUT -i eth0 -s 192.168.100.0/24 -p tcp --dport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.100.0/24 -p tcp --sport 3128 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.168.0/24 -p tcp --dport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.168.0/24 -p tcp --sport 3128 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth2 -p tcp --dport 32768:61000 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth2 -p tcp --sport 32768:61000 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth2 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth2 -p udp --sport 53 -j ACCEPT
 
這幾條語句比較麻煩,逐一介紹:
#iptables -A INPUT -i eth0 -s 192.168.100.0/24 -p tcp --dport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT
允許192.168.100.0/24網(wǎng)段的機器發(fā)送數(shù)據(jù)包從eth0網(wǎng)卡進入。如果數(shù)據(jù)包是tcp協(xié)議,而且目的端口是3128(因為REDIRECT已經(jīng)把80改為3128了。nat表的PREROUTING是在filter表的INPUT前面的),再而且,數(shù)據(jù)包的狀態(tài)必須是NEW或者ESTABLISHED的(NEW代表tcp三段式握手的“第一握”,換句話說就是,允許客戶端機器向服務器發(fā)出鏈接申請。ESTABLISHED表示通過握手已經(jīng)建立起鏈接),通過。
 
#iptables -A OUTPUT -o eth2 -p tcp --sport 32768:61000 -m state --state NEW,ESTABLISHED -j ACCEPT
我們先來看這一句?,F(xiàn)在你的數(shù)據(jù)包已經(jīng)進入到linux服務器防火墻上來了。squid需要代替你去訪問,所以這時,服務器就成了客戶端的角色,所以它要使用32768到61000的私有端口進行訪問。(大家會奇怪應該是1024到65535吧。其實CentOS版的linux所定義的私有端口是32768到61000的,你可以通過cat /proc/sys/net/ipv4/ip_local_port_range,查看一下。)再次聲明:這里是squid以客戶端的身份去訪問其他的服務器,所以這里的源端口是32768:61000,而不是3128!
 
#iptables -A INPUT -i eth2 -p tcp --dport 32768:61000 -m state --state ESTABLISHED -j ACCEPT
當然了,數(shù)據(jù)有去就有回。
 
#iptables -A OUTPUT -o eth0 -d 192.168.100.0/24 -p tcp --sport 3128 -m state --state ESTABLISHED -j ACCEPT
數(shù)據(jù)包還得通過服務器,轉(zhuǎn)到內(nèi)網(wǎng)網(wǎng)卡上。請注意,這里,是squid幫你去訪問了你想要訪問的網(wǎng)站。所以在內(nèi)網(wǎng)中,你的機器是客戶端角色,而squid是服務器角色。這與剛才對外訪問的過程是不同的。所以在這里,源端口是3128,而不是32768:61000。
 
iptables -A OUTPUT -o eth2 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth2 -p udp --sport 53 -j ACCEPT
?!‘斎唬珼NS是不可缺少的。
 
iptables -A INPUT -i eth  -p tcp --dport 80 -j LOG --log-prefix 'iptables_80_alert' --log-level info
iptables -A INPUT -i eth  -p tcp --dport 21 -j LOG --log-prefix 'iptables_21_alert' --log-level info
iptables -A INPUT -i eth  -p tcp --dport 22 -j LOG --log-prefix 'iptables_22_alert' --log-level info
iptables -A INPUT -i eth  -p tcp --dport 25 -j LOG --log-prefix 'iptables_25_alert' --log-level info
iptables -A INPUT -i eth  -p icmp --icmp-type 8 -j LOG --log-prefix 'iptables_icmp8_alert' --log-level info
?!∮涗浫罩?/span>


(3)iptables 禁ping腳本

#!/bin/bash
iptables -F
iptables -F -t nat
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
#load connection-tracking modules
modprobe ip_tables
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 22,80 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 22,80 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

(4)iptables 做web防火墻腳本


#!/bin/bash
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#load connection-tracking modules
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 22,80 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -nv -L
測試掃描端口
nmap -sT 192.168.18.254


(5)iptables 做vsftp防火墻腳本


#!/bin/bash
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
#load connection-tracking modules
modprobe ip_tables
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -nv -L


(6)iptables 做mail防火墻腳本


#!/bin/bash
iptables -F
iptables -F -t nat
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#load connection-tracking modules
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 122.70.121.XXX -j ACCEPT
iptables -A INPUT -s 122.70.121.XXX -j ACCEPT
iptables -A INPUT -s 122.70.121.XXX -j ACCEPT
iptables -N synflood
iptables -A synflood -m limit --limit 10/s --limit-burst 100 -j RETURN
iptables -A synflood -p tcp -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp -m state --state NEW -j synflood
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 5 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -p tcp -m multiport --dport 80,22,8080,3306,5666,110,143,25,443 -j ACCEPT
測試:
端口掃描
nmap -P0 -sS 214.26.73.x


(7)iptables 做nat路由器腳本


#!/bin/bash
echo '1' /proc/sys/net/ipv4/ip_forward
arp -f /root/mac.txt
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F INPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat
iptables -p FORWARD DROP
#客戶機綁定mac地址才能上網(wǎng),這樣防止惡意增加IP在公司內(nèi)部上網(wǎng),引起不安全隱患
cat /root/mac.txt | while read LINE
do
ipaddress=`echo $LINE | awk '{print $1}'`
macaddress=`echo $LINE | awk '{print $2}'`
iptables -A FORWARD -s $ipaddress -m mac --mac-source $macaddress -j ACCEPT
done
#網(wǎng)關(guān)上有幾塊網(wǎng)卡,eth0接的是外網(wǎng)IP地址,eth1、eth2等對應該局域網(wǎng)IP,因是租用了電信的光纖,不存在著ADSL上網(wǎng)情況
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to 59.195.233.234
#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
cat /root/mac.txt
192.168.1.50 00:16:D3:F6:BD:F5
192.168.1.57 00:16:36:B4:6C:5D


讓下次開機自動加載腳本 

   [root@localhost ~]# echo '/bin/bash /root/shell/iptables.sh' >> /etc/rc.local



本文出自 “汪立明” 博客

原文鏈接:http://afterdawn.blog.51cto.com/7503144/1877782

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux下簡單實用的防火墻配置
iptables實例
iptables的常用命令和選項
iptables應用匯總
iptables 設置經(jīng)典_FreeBSD
學習使用 iptables - linux - 孫峰
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服