@vakohafa

Какого правила не хватает в iptables?

Установил SSH тунель

ssh -D 9999 root@111.111.111.111 -N

По идее теперь можно подключаться по SOCKS5 к 127.0.0.1:9999

В файрфоксе прописываю 127.0.0.1:9999 и ничего не работает, но если прописать localhost:9999 то почемуто работает.

Установил ProxyChains-NG, вообще не работает, хотя конфиги верные, запихнул все в чистую виртуалку, все работает.

Сделал вывод что дело в iptables.
Где конкретно, так и не разобрался.

Вот что в iptables

# Generated by iptables-save v1.4.7 on Sat Apr 25 00:54:56 2017
*nat
:PREROUTING ACCEPT [33:8870]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [3:184]
-A POSTROUTING -o tun0 -j MASQUERADE
COMMIT
# Completed on Sat Apr 25 00:54:56 2017
# Generated by iptables-save v1.4.7 on Sat Apr 25 00:54:56 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -s 111.222.333.444/32 -p udp -m udp --sport 1194 -m state --state RELATED,E$
-A INPUT -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -d 111.222.333.444/32 -o eth0 -p udp -m udp --dport 1194 -j ACCEPT
-A OUTPUT -d 111.222.333.444/32 -o wlan0 -p udp -m udp --dport 1194 -j ACCEPT
-A OUTPUT -o tun0 -j ACCEPT
-A OUTPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sat Apr 25 00:54:56 2017


Чего не хватает в правилах?

SSH тунель идет внутри VPN, iptables настроен на блокировку всего трафика кроме впновского.
  • Вопрос задан
  • 896 просмотров
Пригласить эксперта
Ответы на вопрос 4
Daemon23RUS
@Daemon23RUS
SSH тунель идет внутри VPN, iptables настроен на блокировку всего трафика кроме впновского.

127.0.0.1:9999 - это по вашему к какому относится ? ко всему или к впн ?
Ответ написан
@tamogavk
@deni4ka

Iptables -L -v -t nat
Ответ написан
Комментировать
Host-Eiweb
@Host-Eiweb
Хостинг VPS серверов в Европе и США
Открываете Yandex и в поисковой строке вбиваете 127.0.0.1 что это за адрес
Ответ получите сразу.
Неужели так трудно это сделать.
Ответ написан
Комментировать
@younghacker
Если находит по имени но не находит по адресу значит дело в том что адрес и имя ресолвятся не туда или используется другой протокол. Я бы посмотрел что там с IPv4 и IPv6.
Для вашего случая туннель я бы поднял несколько иначе:
ssh -4 -L 9999:127.0.0.1:9999 -N root@111.111.111.111


Утилита tcpdump поможет узнать больше о сетевом трафике с вашей стороны и со стороны сервера. Для Windows есть wireshark и wincap.

Что касается iptables - то он содержит правила которые никогда не сработают.
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -d 111.222.333.444/32 -o eth0 -p udp -m udp --dport 1194 -j ACCEPT
Первое сработает, второе никогда. Одно из этих правил лишнее. Скорее второе.
Потому что если убрать первое то ssh будет заблокирован в eth0 либо должен будет бежать через tun.

В выходных цепочках у вас определён интерфейс wlan0
-A OUTPUT -d 111.222.333.444/32 -o wlan0 -p udp -m udp --dport 1194 -j ACCEPT

А во входных про него забыли.
Хотя непонятно чей это iptables. :) Клиента или сервера?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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