iptables只允许来自某个端口的某些ip

当我编辑iptables时,我总是感到紧张,因为我知道当服务器坐在云端时,阻止所有到服务器的stream量是一个很大的问题。

这些会是正确的一系列命令吗?

iptables -A INPUT -p tcp --dport 123 -s 1.2.3.4 -j ACCEPT iptables -A INPUT -p tcp --dport 123 -s 5.6.7.8 -j ACCEPT iptables -A INPUT -p tcp --dport 123 -j DROP iptables-save 

这不能回答你的问题 – 其他人正在做的很好 – 但它确实解决了你的其他问题:将自己locking在远程服务器之外。 每当我在一个系统上做了一个大的iptables更改时,我总是检查atd是否正在运行,然后将工作放置10分钟左右,

 at now + 10 minutes at> service iptables stop at> ^D 

这样我就知道,如果我真的把自己弄糟了,十分钟之内我就可以重新修复。 如果我完成了我的工作,而且我还没有犯规,我可以用atqfind这个工作,并在运行之前用atq删除它。

它应该工作,但是可以改进。 您尚未发布默认的INPUT政策。 如果它是接受的,那么你的命令应该工作,但不是最推荐的。 如果是DROP,那么iptables-save之前不需要这行。

对于iptables以及任何其他防火墙,最推荐的策略是DROP EVERYTHING,然后明确允许您希望允许的端口/协议。 所以你从这开始 –

 iptables -A INPUT -j DROP 

然后你明确地允许传入的stream量到达端口123 / tcp

iptables -A INPUT -p tcp –dport 123 -s 1.2.3.4 -j ACCEPT

iptables -A INPUT -p tcp –dport 123 -s 5.6.7.8 -j ACCEPT

在Debian的iptables包中有'/ usr / sbin / iptables-apply'谁会询问你是否在应用修改后都可以,如果你不重新应用这个问题,chages就会被撤消。