停止发送数据包到私有IP

我有一个问题,我的服务器被locking,因为它是发送数据包私人IP。

我的问题是,最好的解决scheme是什么?

这里是我从我的托pipe服务提供商那里得到的日志:

[Mon Jun 2 00:04:36 2014] forward-to-private:IN=br0 OUT=br0 PHYSIN=vm-44487.0 PHYSOUT=eth0 MAC=78:fe:3d:47:3d:20:00:1c:14:01:4e:cd:08:00 SRC=78.46.198.21 DST=192.168.249.128 LEN=1454 TOS=0x00 PREC=0x00 TTL=64 ID=58859 DF PROTO=UDP SPT=41366 DPT=41234 LEN=1434 [Mon Jun 2 00:17:15 2014] forward-to-private:IN=br0 OUT=br0 PHYSIN=vm-44487.0 PHYSOUT=eth0 MAC=78:fe:3d:47:3d:20:00:1c:14:01:4e:cd:08:00 SRC=78.46.198.21 DST=192.168.249.128 LEN=1456 TOS=0x00 PREC=0x00 TTL=64 ID=52234 DF PROTO=UDP SPT=55430 DPT=41234 LEN=1436 

不明白为什么你的托pipe服务提供商这样做*,你可以通过iptables或通过调整你的路线来过滤。

如果你有一个私人networking(VPN等),你应该添加一个合适的路线。 否则,将数据包丢弃到规则集的开始处的这些networking:

 iptables -N BLOCKPRIVATE iptables -A BLOCKPRIVATE -d 192.168.0.0/16 -j DROP iptables -A BLOCKPRIVATE -d 172.16.0.0/12 -j DROP iptables -A BLOCKPRIVATE -d 10.0.0.0/8 -j DROP iptables -I OUTPUT -j BLOCKPRIVATE iptables -I FORWARD -j BLOCKPRIVATE 

如果你有需要这些路由的私有接口,你也可以通过replace最后两行来做更细粒度的阻塞,例如:

 iptables -I OUTPUT -o eth0 -j BLOCKPRIVATE iptables -I FORWARD -o eth0 -j BLOCKPRIVATE 

*您的托pipe服务提供商不应该因此而惩罚您,因为如果您没有专用networking,您的应用程序可能会因尝试连接私人服务而意外发送数据包。 这是非常正常的。