1

Я пытаюсь настроить OpenVPN для использования Tor в качестве прокси в Liberte. Когда я запускаю openvpn от имени пользователя root, я получаю следующий ответ:

Tue May 13 15:15:18 2014 Attempting to establish TCP connection with 127.0.0.1:9050 [nonblock]
Tue May 13 15:15:20 2014 TCP: connecto to 127.0.0.1:9050 failed, will try again in 5 seconds: No route to host

Я предполагаю, что это связано со следующей настройкой:

# Tor access via SOCKS only for main user and Privoxy
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner ${luser} --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner privoxy  --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
iptables -A OUTPUT       -p tcp                               --syn -d 127.0.0.1 --dport 9050 -j LOGREJECT

Потому что, когда я пытаюсь запустить openvpn как обычный пользователь (anon), он подключается без проблем. Вместо этого он сталкивается с некоторыми другими конфликтами разрешений позже при выполнении.

Поэтому я попытался запустить следующее:

iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner root  --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart

И, конечно же, изменения появляются, когда я делаю iptables -L.

Но я все еще получаю ту же ошибку при попытке запустить openvpn. Так почему же изменения не вступят в силу?

1 ответ1

1

Вот мои мысли:

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

Таким образом, ваша цепочка, вероятно, выглядит следующим образом после выполнения этой команды:

# Tor access via SOCKS only for main user and Privoxy
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner ${luser} --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner privoxy  --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
iptables -A OUTPUT       -p tcp                               --syn -d 127.0.0.1 --dport 9050 -j LOGREJECT
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner root  --syn -d 127.0.0.1 --dport 9050 -j ACCEPT

Пакет, принадлежащий корню, срабатывает в правиле LOGREJECT, поскольку он появляется перед окончательным правилом ACCEPT. Вам нужно оформить 4-ю строку до 3-й.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .