Linux, как заставить весь трафик на определенный хост через VPN?

Я пытаюсь убедиться, что весь трафик на наш сервер статистики принудительно через 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.

11
задан Lee Hambley
06.11.2022 5:33 Количество просмотров материала 3030
Распечатать страницу

1 ответ

в /etc/hosts необходимо указывать приватный адрес сервера статистики, а не публичный. Маршрута должно быть достаточно. route add-host PRIVATE_ADDRESS dev ppp0 . Уит этой конфигурации.statsd.сервер будет разрешен только на его личный адрес и будет направлен trhough интерфейс ppp0. Нет необходимости в iptables, потому что, если vpn не работает, сервер не будет доступен по его частному адресу.

1
отвечен Joleng 2022-11-07 13:21

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

firewall
iptables
linux
networking
routing
Вверх