iptable 限制ip訪問
查看端口情況
1.netstat -ntpl
2.iptables -F 清除預設表filter中的所有規則鏈的規則
3.iptables -X 清除預設表filter中使用者自定鏈中的規則
4.iptables -L -n 查看本機關於IPTABLES的設置情況 【遠程連接規則將不能使用,註意】
/etc/init.d/iptables status
5./etc/rc.d/init.d/iptables save
6./etc/rc.d/init.d/iptables restart
初始化
7. ACCEPT/DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
而對於OUTPUT鏈,也就是流出的包我們不用做太多限制,而是采取 ACCEPT,也就是說,不在著個規則裏的包怎麽辦呢,那就是通過.
可以看出INPUT,FORWARD兩個鏈采用的是允許什麽包通過,而OUTPUT鏈采用的是不允許什麽包通過.
這樣設置還是挺合理的,當然你也可以三個鏈都DROP,但這樣做我認為是沒有必要的,而且要寫的規則就會增加.但如果你只想要有限的幾個規則是,如只做WEB服務器.還是推薦三個鏈都是DROP.
重復5,6步驟,查看結果 iptables -L -n
8.添加規則
eg. ssh端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
(註:這個規則,如果你把OUTPUT 設置成DROP的就要寫上這一部,好多人都是望了寫這一部規則導致,始終無法SSH.在遠程一下,是不是好了.
其他的端口也一樣,如果開啟了web服務器,OUTPUT設置成DROP的話,同樣也要添加一條鏈
web
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
如下:
只允許指定的ip訪問本機的指定端口50070:
例如允許的的ip:192.168.1.123,192.168.1.124, 192.168.1.100,其他ip都禁止訪問。
切換到root用戶
iptables -F#清除預設表filter中的所有規則鏈的規則
1、在tcp協議中,禁止所有的ip訪問本機的50070端口。
iptables -I INPUT -p tcp --dport 50070-j DROP
2、允許192.168.1.123訪問本機的50070端口
iptables -I INPUT -s 192.168.1.123 -ptcp --dport 50070 -j ACCEPT
3、允許192.168.1.124訪問本機的50070端口
iptables -I INPUT -s 192.168.1.124 -ptcp --dport 50070 -j ACCEPT
4、允許192.168.1.100訪問本機的50070端口
iptables -I INPUT -s 192.168.1.100 -ptcp --dport 50070 -j ACCEPT
註意以上4條命令的順序不能錯。
以上是臨時設置。
5.然後保存iptables
# service iptables save
6.重啟防火墻
#service iptables restart
7.在此說一下關於啟動和關閉防火墻的命令:
1) 重啟後生效
開啟: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重啟後失效
開啟: service iptables start
關閉: service iptables stop
說明:
1、如果對某一網段做限制可以直接執行如下命令:
2-3-4步可直接使用如下命令代替:
iptables -I INPUT-s 192.168.1.0/24 -p tcp --dport 50070 -j ACCEPT
2、對其他端口做限制,直接修改為對應端口後依次執行 1-7步操作
---------------------
作者:ZhaoYingChao88
來源:CSDN
原文:https://blog.csdn.net/zyc88888/article/details/73274456/
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
iptable 限制ip訪問