iptables限制ip訪問
1. linux防火牆iptables限制幾個特定ip才能訪問伺服器。
linux下要使用iptables限制只有指定的ip才能訪問本機則需要先設置一個默認的規則
iptables有默認的規則,它可以適用於所有的訪問
因為只有指定或特定的ip地址才能訪問本機
所以可以將默認的規則設置為所有訪問全部阻止(當然這里需要注意下,如果你要設置的機器是在遠端,比如vps則需要注意在設置默認規則的同時要將與該伺服器鏈接的ip添加進白名單,否則在設置完默認阻止後你也無法訪問這台伺服器,也無法再進行操作了,我們可以使用分號;或者&&來在同一個命令行下來完成默認阻止和將自己的ip添加進白名單,假如你的ip地址為1.2.3.4則可以這樣輸入iptables -P INPUT DROP;iptables -A INPUT -s 1.2.3.4 -p tcp -j ACCEPT,或者也可以指定一個埠)
設置默認規則後則可以添加白名單了
比如允許2.3.4.5訪問則可以
iptables -A INPUT -s 2.3.4.5 -p tcp -j ACCEPT
如果要限定的不是整個伺服器而只是該伺服器中的某個服務
比如web服務(一般埠在80,https在443)
則我們可以使用0.0.0.0/0來阻止所有的ip地址
比如
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP
以及
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j DROP
來阻止所有訪問web伺服器的ip地址
然後再添加指定的ip到白名單
比如添加1.2.3.4,我們可以
iptables -A INPUT -s 1.2.3.4 -p tcp --dport 80 -j ACCEPT
如果我們允許某個網段下的所有ip都可以訪問的話比如1.2.3.[0-255],我們可以
iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport -j ACCEPT
總之不管是阻止所有的服務還是只阻止指定的服務
我們可以先將默認的規則設置為所有ip都不可訪問
然後再手動添加ip地址到白名單