Я пытаюсь убедиться, что весь трафик на наш сервер статистики принудительно через VPN, в случае, если VPN падает, не должно быть, что трафик пытается маршрутизировать через глобальную сеть. Для короткого замыкания поиска DNS мы перечислили хост в файле hosts, но это разрешилось бы и в более широком мире.
вот что у нас есть:
$ echo "12.23.45.67 the.statsd.server" > /etc/hosts
# From a /etc/ppp/ip-up.d/thevpn (so it's a pptp client script that does this)
route add -host 12.34.45.67 dev ppp0
$ iptables -I INPUT -s 12.23.45.67 -i eth0 -j DROP
$ iptables -I OUTPUT -d 12.23.45.67 -o eth0 -j DROP
$ iptables -I OUTPUT -d 12.23.45.67 -o ppp0 -j ACCEPT
все до тех пор, пока таблицы IP не работают, но проблема (если это действительно проблема) заключается в том, что я больше не могу пинговать это хост, даже когда VPN подключен:
root@li149-82:~# ping the.statsd.server
PING the.statsd.server (12.23.45.67) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
Я не особо разбираюсь в таблицах IP, главное, что по умолчанию он должен не возможно для маршрутизации к этому хосту, вообще, если это не более ppp0
.