我使用iptables来logging所有传入的连接。 在通过loginvar/log/messages
,我注意到有一些从另一台计算机到未分配的LAN IP地址的传入连接,例如:
1月7日23:31:28某些内核IPTABLES IN = wlan0 OUT = MAC = ff:ff:ff:ff:ff:ff:00:12:34:56:e1:e1:08:00 SRC = 192.168.1.12 DST = 192.168.1.255 LEN = 239 TOS = 0x00 PREC = 0x00 TTL = 128 ID = 37 PROTO = UDP SPT = 138 DPT = 138 LEN = 219
我的问题是,如果这些连接不是注定我的服务器,为什么他们loginINPUT? 如果他们正在被logging,这是否意味着我的服务器正在接受他们,如果我没有明确地过滤这些? 我目前的iptablesconfiguration是:
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -j LOG --log-prefix "IPTABLES: " --log-level info -A INPUT -p icmp -j ACCEPT -A INPUT -p tcp --dport 80 -j ACCEPT
这是否意味着我必须在最后一条规则中添加-d
,如下所示:
-A INPUT -p tcp -d 192.168.1.1 --dport 80 -j ACCEPT
过滤不连接到我的服务器的连接?
那就是将一个数据包logging到192.168.2.255,假设每月有一个24位的子网掩码,那么这意味着它是广播地址。 广播被发送到networking上的每台计算机。
这个特定的数据包几乎可以肯定是一个向networking发布其名称的Windows机器。
假设你使用的是/ 24networking,那么你的系统正在接受这个数据包,因为它是192.168.1 / 24广播地址192.168.1.255这是正常的。