Linux防火墙iptables限制几个特定ip才能访问服务器。

Linux防火墙iptables限制几个特定ip才能访问服务器。,第1张

linux下要使用iptables限制只有指定的ip才能访问本机则需要先设置一个默认的规则

iptables有默认的规则,它可以适用于所有的访问

因为只有指定或特定的ip地址才能访问本机

所以可以将默认的规则设置为所有访问全部阻止(当然这里需要注意下,如果你要设置的机器是在远端,比如vps则需要注意在设置默认规则的同时要将与该服务器链接的ip添加进白名单,否则在设置完默认阻止后你也无法访问这台服务器,也无法再进行 *** 作了,我们可以使用分号或者&&来在同一个命令行下来完成默认阻止和将自己的ip添加进白名单,假如你的ip地址为1.2.3.4则可以这样输入iptables -P INPUT DROPiptables -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地址到白名单

1、vi /etc/sysconfig/iptables

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -i lo -j ACCEPT

-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth0 -s 192.168.1.2 -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth0 -p icmp -j ACCEPT

-A INPUT -i eth0 -j DROP

COMMIT

2、/etc/init.d/iptables restart

3、iptables -nvL检查

4、-s 192.168.1.2即只允许192.168.1.2访问


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8905796.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存