首頁 > 軟體

iptables只允許指定ip地址存取指定埠

2020-06-16 17:46:46

首先,清除所有預設定

iptables -F#清除預設表filter中的所有規則鏈的規則
 
iptables -X#清除預設表filter中使用者自定鏈中的規則


其次,設定只允許指定ip地址存取指定埠

iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j ACCEPT
 
iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport 22 -j ACCEPT
 

 
iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 3306 -j ACCEPT
 
iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport 3306 -j ACCEPT


上面這兩條,請注意--dport為目標埠,當資料從外部進入伺服器為目標埠;反之,資料從伺服器出去則為資料來源埠,使用 --sport
同理,-s是指定源地址,-d是指定目標地址。


然後,關閉所有的埠

iptables -P INPUT DROP
 
iptables -P OUTPUT DROP
 
iptables -P FORWARD DROP


最後,儲存當前規則

/etc/rc.d/init.d/iptables save
 
service iptables restart


這種iptables的規則設定適用於只充當MySQL伺服器的管理和維護,外部地址不提供任何服務。

如果你希望yum可以執行的話,還需要新增以下內容,允許DNS請求的53埠,允許下載隨機產生的高階口

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
iptables -A INPUT -p udp --sport 53 -j ACCEPT
 
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
 
iptables -A OUTPUT -p tcp --sport 10000:65535 -j ACCEPT
 
/etc/rc.d/init.d/iptables save
 
service iptables restart

更多iptables相關教學見以下內容

CentOS 7.0關閉預設防火牆啟用iptables防火牆  http://www.linuxidc.com/Linux/2015-05/117473.htm

iptables使用範例詳解 http://www.linuxidc.com/Linux/2014-03/99159.htm

Linux防火牆iptables詳細教學 http://www.linuxidc.com/Linux/2013-07/87045.htm

iptables的備份、恢復及防火牆指令碼的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htm

Linux下防火牆iptables用法規則詳解 http://www.linuxidc.com/Linux/2012-08/67952.htm

Linux下iptables防火牆設定 http://www.linuxidc.com/Linux/2015-10/123843.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-01/127806.htm


IT145.com E-mail:sddin#qq.com