У меня была та же проблема, потому что установленная по умолчанию версия Inkscape на моем Linux Mint 17.1 была очень старой (0.34 или что-то в этом роде). Я загрузил последнюю версию (0.91) с https://inkscape.org/en/ , и проблема была исправлена в этой версии.
Удобный инструмент - перечислить существующие правила с номерами строк:
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
.
Вам понадобятся оба набора правил в 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
в конфигурации вашего клиента.