iptables限制ip端口访问
‘壹’ 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地址到白名单
‘贰’ Linux——iptables 禁止 IP和端口
禁止指定 IP
禁止指定 IP段
禁止指定 IP和端口
查看当前的IP规则列表
用命令 iptables -vnL 查看效果:
参数扮高-I是表示 Insert (添加),-D表示 Delete (删除)。后面跟的是规则, INPUT 表示入站,10.0.28.15表示要封停的IP, DROP 表示蔽卜放弃连接。
限宏缺穗制syn并发的次数以及同一个IP 新建连接数的数量
‘叁’ LINUX iptables限制IP访问
iptables在INPUT链添加规则即可,出站流量(服务器访问外网)不受影响,包括访问出去然后回来的数据包
注:INPUT(数据包流入口),INPUT链默认是拒绝所有,所以添加允许规则即可
例1,允许IP192.168.2.1的IP可以全端口访问我的服务器
iptables-AINPUT-s192.168.2.1/32-jACCEPT
例2,允许IP192.168.2.2的IP可以访问我服务器的80端口
iptables-AINPUT-s192.168.2.2/32-ptcp-mtcp--dport80-jACCEPT
你可以把你现有规则贴出来,默认情况下出站流量回包是不会拦截的
‘肆’ linux防火墙iptable如何设置只允许某个ip访问80端口,只允许特定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访问