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