您好,登錄后才能下訂單哦!
iptables組成:四張表+五條鏈+規(guī)則
四張表:filter表,nat表,mangle表,raw表
五條鏈:INPUT OUTPUT FORWARD PREROUTING(DNAT) POSTROUTING(SNAT)
nat表:Nat表主要用于網(wǎng)絡(luò)地址轉(zhuǎn)換。根據(jù)表中的每一條規(guī)則修改網(wǎng)絡(luò)包的IP地址。流中的包僅遍歷一遍Nat表。例如,如果一個通過某個接口的包被修飾(修改了IP地址),該流中其余的包將不再遍歷這個表。通常不建議在這個表中進行過濾,由NAT表支持的鏈稱為PREROUTING 鏈,POSTROUTING 鏈和OUTPUT 鏈。
mangle表:這個表用于校正網(wǎng)絡(luò)包。它用來對特殊包的包頭和內(nèi)容(TTL,TOS,MARK)進行標記修改。Mangle表不能用于地址偽裝。支持的鏈包括PREROUTING鏈,OUTPUT鏈,Forward鏈,Input鏈和POSTROUTING鏈
filter表:如果沒有定義任何規(guī)則,Filter表則被當作默認的表,并且基于它來過濾。它用來訪問控制,規(guī)則匹配,過濾網(wǎng)絡(luò)包。支持的鏈有INPUT 鏈,OUTPUT 鏈,F(xiàn)ORWARD 鏈。
raw表:在我們想要配置之前被豁免的包時被使用。它支持PREROUTING 鏈和OUTPUT 鏈
數(shù)據(jù)包規(guī)則:
數(shù)據(jù)包訪問控制:ACCEPT(接收,回復通過),REJECT(接收,回復拒絕),DROP(丟棄)
數(shù)據(jù)包改寫:SNAT(源地址改寫),DNAT(目標地址改寫)
信息記錄:LOG
-i eth0:從這塊網(wǎng)卡流入的數(shù)據(jù)
流入一般用在INPUT和PREROUTING上
-o eth0:從這塊網(wǎng)卡流出的數(shù)據(jù)
流出一般在OUTPUT和POSTROUTING上
**********************************************************************************************************
一、
規(guī)則1:對10.10.188.233開放本機的tcp 80,25,110端口的訪問
iptables –I INPUT –i eth2–p tcp –s 10.10.188.233 –m multiport --dports 80,25,110 –j ACCEPT
規(guī)則2:對所有的地址開放本機的tcp(22:ssh,10-21(10:21))端口的訪問
iptables –I INPUT –p tcp --dport 22 –j ACCEPT
iptables –I INPUT –p tcp --dport 10:21 –j ACCEPT
規(guī)則3:允許對所有的地址開放本機的基于icmp協(xié)議的數(shù)據(jù)包訪問
iptables –I INPUT –p icmp –j ACCEPT
規(guī)則4:其他未被允許的端口則禁止訪問
iptables –A INPUT –j REJECT(iptables –P INPUT DROP)
二、默認需要配置
規(guī)則1:允許所有通過lo網(wǎng)卡傳來的數(shù)據(jù)包
iptables –I INPUT –i lo –j ACCEPT
規(guī)則2:允許本地主動發(fā)起請求能得到回復
iptables –I INPUT –m state --state ESTABLISHED,RELATED –j ACCEPT
三、拓展
1.設(shè)置我能ping通別人,別人不能ping通我(相反則為echo-reply)
iptables –A INPUT –p icmp –s 192.168.1.0/24 –m icmp --icmp-type echo-request –j DROP
2.限制每個客戶端最大并發(fā)數(shù)不超過3個(xshell終端)
iptables –A INPUT –p tcp --dport 22 –s 192.168.1.0/24 –m connlimt –connlimit-above 2 –j DROP
3.限制速度(-m limit --limit匹配速率| --burst緩沖數(shù)量)
iptables –A INPUT –d 192.168.1.63 –m limit --limit 5/s --burst 100–j ACCEPT(在100個包內(nèi)不限速,超過一百個包限制每秒只傳5個包)
iptables –A INPUT –d 192.168.1.63 –j DROP
例如icmp洪水***(多主機ping包占滿內(nèi)存)
iptables –A INPUT –d 192.168.1.63 –m icmp --icmp-type echo-request –m limit --limit 5/s –j ACCEPT(限制每秒20個包)
iptables –A INPUT –d 192.168.1.63 –m icmp --icmp-type echo-request –j DROP
********************************************************************************************
允許ftp規(guī)則模式
(主動)加入21號端口放行規(guī)則
iptables –I INPUT –p tcp --dport 21 –j ACCEPT
(被動)
1.在vsftpd服務(wù)端配置文件中加入vsftpd來訪的虛擬端口范圍
vim /etc/vsftpd/vsftpd.conf
#listen_port=21
#pasv_enable=YES
#pasv_min_port=50000
#pasv_max_port=60000
加入Iptables –I INPUT –p tcp --dport 50000:60000 –j ACCEPT
2.加入內(nèi)核的連接追蹤模塊
modprobe nf_conntrack_ftp
modprobe ip_nat_ftp
查看內(nèi)核模塊:modprobe –l|grep ftp(lsmod | grep nat_ftp)
永久修改:IPTABLES_MODULES=”nf_conntrack_ftp ******************************************************************************************** 員工在公司內(nèi)部(10.10.155.0/24)能訪問服務(wù)器上的任何服務(wù),允許所有人訪問1723***端口,允許公網(wǎng)訪問門戶網(wǎng)站(80端口) iptables –P INPUT DROP iptables –I INPUT –p tcp –i lo –j ACCEPT iptables –I INPUT –m state --state ESTABLISHED,RELATED –j ACCEPT iptables –I INPUT –p icmp –j ACCEPT iptables –A INPUT –p tcp -s 10.10.155.0/24 –j ACCEPT iptables –A INPUT –p tcp -s 10.10.188.0/24 –j ACCEPT iptables –A INPUT –p tcp --dport 80 –j ACCEPT iptables –A INPUT –p tcp --dport 1723 –j ACCEPT ******************************************************************************************** Ip地址轉(zhuǎn)換SNAT(當多臺客戶端訪問一臺web服務(wù)端時使用,源地址可為網(wǎng)段,需開啟內(nèi)核參數(shù)ip_forward) iptables –t nat –A POSTROUTING –p tcp –s 10.10.177.0/24 –j SNAT --to 10.10.188.232 Ip地址轉(zhuǎn)換DNAT(當1臺客戶端訪問多臺web服務(wù)端時使用,目的地址可為網(wǎng)段) iptables –t nat –A PREROUTING –p tcp –d 10.10.188.232/24 --dport 80 –j DNAT --to 10.10.177.232:80
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。