У меня проблема, что мой сервер был заблокирован, потому что он отправлял пакеты на частные IP-адреса.
Мой вопрос: как лучше всего это остановить?
Вот журнал, который я получил от своего хостинг-провайдера:
[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
Не понимая, почему ваш хостинг-провайдер делает это *, вы можете отфильтровать это по iptables или настроив свои маршруты.
Если у вас есть частная сеть (VPN и т. Д.), Вы должны добавить правильный маршрут. В противном случае сбросьте пакеты в эти сети в начале вашего набора правил:
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
Если у вас есть частные интерфейсы, которым нужны эти маршруты, вы также можете выполнить более детальную блокировку, заменив последние две строки следующим образом, например:
iptables -I OUTPUT -o eth0 -j BLOCKPRIVATE
iptables -I FORWARD -o eth0 -j BLOCKPRIVATE
* Ваш хостинг-провайдер не должен наказывать вас за это, потому что, если у вас нет частных сетей, ваши приложения могут случайно отправлять пакеты, пытаясь подключиться к частной службе. Это совершенно нормально.