我從來沒有使用過iptables,並且在線文檔似乎有點不透明。iptables阻止訪問端口8000除IP地址
我想阻止我的服務器上的端口8000的所有請求,除了那些來自特定IP地址的端口。我如何使用iptables來做到這一點?
我從來沒有使用過iptables,並且在線文檔似乎有點不透明。iptables阻止訪問端口8000除IP地址
我想阻止我的服務器上的端口8000的所有請求,除了那些來自特定IP地址的端口。我如何使用iptables來做到這一點?
此問題應該在Server Fault。然而,接下來應該做的伎倆,假設你在談論TCP並且要允許IP爲1.2.3.4:
iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP
另一種選擇是;
sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP
我有類似問題的3橋的虛只需要使用不同的組合訪問海誓山盟,所以我測試了這個命令,而且運作良好。
編輯**
據費爾南多評論這link感嘆號 (
!
)將被置於前比-s
參數:
sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP
感嘆號('!')現在必須放在'-s'參數之前:'sudo iptables -A INPUT -p tcp --dport 8000 -s! 1.2.3.4 -j DROP'。 –
@FernandoSilveira謝謝,我已更新 – HRgiger
您可以隨時使用iptables來刪除規則。如果您有很多規則,請使用以下命令輸出它們。
iptables-save > myfile
vi
從commend行編輯它們。只需使用「dd」刪除不再需要的行。
iptables-load < myfile and you're good to go.
記住,如果您不要配置OS保存規則到一個文件,然後加載程序文件的規則將失去在啓動過程中。
在Debian上沒有iptables-load,但iptables-restore iptables-restore
//,你會如此友善地分享不透明文檔的鏈接嗎? –