数据包嗅探器dynamic创buildiptables规则

在一个运行Unix的路由器上,我希望使监视所有传出的数据包,这些数据包我想临时白名单IP地址我连接到,发送和接收。

基本上在防火墙中创build一个针孔,通常会丢弃所有传入的数据包(丢弃除白名单之外的所有数据包,这些数据包是基于我发送数据包连接的此脚本列出的白名单)。 在环顾四周,我可以做一个基于封包嗅探器的bash脚本,但有没有办法在iptables本身,而不必涉及包嗅探器和bash脚本?

这已经以iptables中的连接跟踪模块的forms存在。 这个数字海洋教程描述了这个和当代分布通常默认实现这个。

在做这件事之前,确保你有办法让你自己回来。

主要有:

iptables -A INPUT -s YOUR-TRUSTED-HOST -j ACCEPT iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -P INPUT -j DROP 

所有传入的数据包都被丢弃,除非它们与build立的连接有关。

基于shell的机制可能太慢,以至于跟不上机器创build连接的速度。