Linux服务器中怎么设置一个端口只能一个IP访问。需要建策略规则么?

Linux服务器中怎么设置一个端口只能一个IP访问。需要建策略规则么?,第1张

Linux防火墙Iptable如何设置只允许某个ip访问80端口,只允许特定ip访问某端口?参考下面命令,只允许46.166.150.22访问本机的80端口。如果要设置其他ip或端口,改改即可。

iptables -I INPUT -p TCP --dport 80 -j DROP

iptables -I INPUT -s 46.166.150.22 -p TCP --dport 80 -j ACCEPT

在root用户下执行上面2行命令后,重启iptables, service iptables restart

查看iptables是否生效:

[root@xxxx]# iptables -L

Chain INPUT (policy ACCEPT)

target prot opt source destination

ACCEPT tcp -- 46.166.150.22anywheretcp dpt:http

DROP tcp -- anywhere anywheretcp dpt:http

Chain FORWARD (policy ACCEPT)

target prot opt source destination

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

上面命令是针对整个服务器(全部ip)禁止80端口,如果只是需要禁止服务器上某个ip地址的80端口,怎么办?

下面的命令是只允许来自174.140.3.190的ip访问服务器上216.99.1.216的80端口

iptables -A FORWARD -s 174.140.3.190 -d 216.99.1.216 -p tcp -m tcp --dport 80 -j ACCEPT

iptables -A FORWARD -d 216.99.1.216 -p tcp -m tcp --dport 80 -j DROP

如果您不熟悉linux的ssh命令,那么可以在webmin/virtualmin面板中设置,达到相同效果。参考:webmin面板怎样设置允许特定ip访问80端口,禁止80端口

更多iptables参考命令如下:

1.先备份iptables

# cp /etc/sysconfig/iptables /var/tmp

需要开80端口,指定IP和局域网

下面三行的意思:

先关闭所有的80端口

开启ip段192.168.1.0/24端的80口

开启ip段211.123.16.123/24端ip段的80口

# iptables -I INPUT -p tcp --dport 80 -j DROP

# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT

# iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT

以上是临时设置。

2.然后保存iptables

# service iptables save

3.重启防火墙

#service iptables restart

端口 *** 作相关示例:6.1 添加端口(1) 允许源地址为x.x.x.x/x的主机通过22(ssh)端口.iptables -A INPUT -p tcp -s x.x.x.x/x --dport 22 -j ACCEPT(2)允许80(http)端口的数据包进入iptables -A INPUT -p tcp --dport 80 -j ACCEPT (3)允许110(pop3)端口的数据包进入,如果不加这规则,就只能通过web页面来收信(无法用OE或Foxmail等来收)iptables -A INPUT -p tcp --dport 110 -j ACCEPT(4) 允许25(smtp)端口的数据包进入,如果不加这规则,就只能通过web页面来发信(无法用OE或Foxmail等来发)iptables -A INPUT -p tcp --dport 25 -j ACCEPT(5)允许21(ftp)端口的数据包进入(传数据)   iptables -A INPUT -p tcp --dport 21 -j ACCEPT (6)允许20(ftp)端口的数据包进入(执行ftp命令,如dir等)  iptables -A INPUT -p tcp --dport 20 -j ACCEPT (7)允许53(dns)端口的数据包进入(tcp)  iptables -A INPUT -p tcp --dport 53 -j ACCEPT (8)允许53(dns)端口的数据包进入(udp)  iptables -A INPUT -p udp --dport 53 -j ACCEPT (9)允许ICMP包通过,也就是允许ping  iptables -A INPUT -p icmp -j ACCEPT(10)利用 iptables 对连接状态的支持iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT(11)把INPUT链的默认规则设置为DROP


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

原文地址: http://outofmemory.cn/bake/7977938.html

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

发表评论

登录后才能评论

评论列表(0条)

保存