在运行unix的路由器上,我希望对所有传出的数据包进行监视,这些数据包中,我希望临时将连接到的IP地址白名单,以便发送和接收。
基本上,为了在防火墙中创建一个针孔,通常会丢弃所有传入的数据包(除白色列出的数据包外,所有数据包都会丢弃,这些数据包是由此脚本基于我发送的数据包连接到的ips列表)列出的)。环顾四周,我可以根据包嗅探器制作bash脚本,但是有什么方法可以在iptables本身中实现,而不需要涉及包嗅探器和bash脚本?
发布于 2017-01-28 01:54:22
这已经以iptables中的连接跟踪模块的形式存在。本数字海洋教程描述了这一点,而现在的发行版通常默认实现这一点。
在做这件事之前,如果你把自己锁在外面,一定要确保你有办法回去。
实质上:
iptables -A INPUT -s YOUR-TRUSTED-HOST -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT -j DROP
所有传入的数据包都被丢弃,除非它们与已建立的连接相关。
基于shell的机制可能太慢,无法跟上机器创建连接的速度。
https://serverfault.com/questions/829111
复制相似问题