iptables перенаправляет трафик в туннель vpn, если он открыт

У меня была та же проблема, потому что установленная по умолчанию версия Inkscape на моем Linux Mint 17.1 была очень старой (0.34 или что-то в этом роде). Я загрузил последнюю версию (0.91) с https://inkscape.org/en/ , и проблема была исправлена ​​в этой версии.

8
08.12.2018, 01:38
2 ответа

Удобный инструмент - перечислить существующие правила с номерами строк:

iptables --line-numbers -t filter -L FORWARD

Вы можете удалить правила с помощью параметра -D :

iptables -t filter -D FORWARD 1

Вы можете вставить новое правило в указанное место с опцией -I :

iptables -t filter -I FORWARD 0 blah-blah-blah

это вставит новое правило в самое начало таблицы, так что с ним будут обращаться в первую очередь.

Изменить:

Как правило, вам нужно только одно правило в таблице FORWARD , которое соответствует -m state --state RELATED, ESTABLISHED :

-I FORWARD 1 -m state --state RELATED,ESTABLISHED -j ACCEPT

как отслеживание соединения разрешить маршрутизацию всех уже известных подключений.

И да, вам необходимо настроить маршрутизацию политики , чтобы перенаправлять трафик WLAN не на шлюз по умолчанию, который, скорее всего, доступен через интерфейс Ethernet , но через интерфейс vpn .

4
27.01.2020, 20:10

Вам понадобятся оба набора правил в iptables . Два набора правил гарантируют, что трафик, уходящий указанными интерфейсами, соответствующим образом замаскирован. Вот мое предложение, которое немного проще вашего:

# Masquerade outgoing traffic
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

# Allow return traffic
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

# Forward everything
iptables -A FORWARD -j ACCEPT

Часть головоломки, которой не хватает, - это маршрутизация. Если туннель активен, вы хотите, чтобы его использовал "весь" исходящий трафик. В противном случае используйте обычный маршрут.

Это обрабатывается в OpenVPN с помощью параметра redirect-gateway def1 в конфигурации вашего клиента.

19
27.01.2020, 20:10

Теги

Похожие вопросы