Linux 如何使用iptables允许从特定IP地址访问特定端口

Linux 如何使用iptables允许从特定IP地址访问特定端口,linux,ubuntu,unix,port,iptables,Linux,Ubuntu,Unix,Port,Iptables,我有两台服务器:xxx.xxx.xx.xx和yyy.yy.yy.yy。在第一个示例中,它的默认端口5432上有一个postgres实例,我希望它只能从这两个特定的IP地址访问 我尝试了以下操作,但对我无效: iptables -I INPUT -p tcp -s xxx.xxx.xx.xx --dport 5432 -j ACCEPT iptables -I INPUT -p tcp -s yyy.yyy.yy.yy --dport 5432 -j ACCEPT iptables -I INPU

我有两台服务器:xxx.xxx.xx.xx和yyy.yy.yy.yy。在第一个示例中,它的默认端口5432上有一个postgres实例,我希望它只能从这两个特定的IP地址访问

我尝试了以下操作,但对我无效:

iptables -I INPUT -p tcp -s xxx.xxx.xx.xx --dport 5432 -j ACCEPT
iptables -I INPUT -p tcp -s yyy.yyy.yy.yy --dport 5432 -j ACCEPT
iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 5432 -j DROP
之后,
telnet xxx.xx.xx.xx 5432
无法从这两台服务器中的任何一台连接


我做错了什么?

你的其他连锁店怎么样?我的意思是,你是在放弃你的输出链吗?我猜你有丢弃数据包的输出

如果要删除该输出链,则需要为其设置相同的输出链。在tcp连接上连接后,始终存在到客户端的反向连接(与输出链匹配)

您的问题的其他可能解释可能是IP的网络掩码。。。您应该使用相同的
xxx.xxx.xx.xx/32
xxx.xxx.xx.xx/255.255.255
。当然,对于您的其他ip
yyy.yy.yy.yy
,也是如此


祝你好运

我对iptables非常陌生,不太了解我做错了什么,很抱歉,这不是一个与编程相关的问题,所以它与堆栈溢出无关。我会穿上试试,或者换上。