Подмена адреса через iptables для Tor

Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT
Author Message
Pioner
DD-WRT Novice


Joined: 24 Aug 2016
Posts: 18

PostPosted: Sun Jan 22, 2017 7:52    Post subject: Подмена адреса через iptables для Tor Reply with quote
Здравствуйте!

Существует ли возможность подмены отдельных адресов при работе через Tor?

Сейчас у меня перенаправление трафка ath1 на Tor выполняется командами:

Code:

iptables -t nat -A PREROUTING -i ath1 -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -i ath1 -p tcp --syn -j REDIRECT --to-ports 9040


До этого момента все работает.

Нужно подменить пользователю сети ath1 (например 192.168.1.2) обращение на один внешний адрес с 78.1.1.1 на 79.2.2.2
добавляю следующую конструкцию:

Code:

iptables -I FORWARD -o ath1 -d 79.2.2.2 -p tcp -j ACCEPT
iptables -t nat -I PREROUTING -i ath1 -d 78.1.1.1 -p tcp -j DNAT --to-destination 79.2.2.2
iptables -t nat -I POSTROUTING -o ath1 -d 79.2.2.2 -p tcp -j SNAT --to-source 192.168.1.2
iptables -t nat -I OUTPUT -o ath1 -d 78.1.1.1 -p tcp -j DNAT --to-destination 79.2.2.2


После этого обращение к 78.1.1.1 перестает работать вообще.

Возможно для "-j SNAT --to-source ..." нужен внешний адрес, но как его узнать если у Tor он переменный?
Для обычных сетей без Tor работает даже одной командой:
Code:

iptables -t nat -I PREROUTING -i ath0 -d 78.1.1.1 -p tcp -j DNAT --to-destination 79.2.2.2

а здесь ничего не получается.
Sponsor
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Jan 23, 2017 9:38    Post subject: Re: Подмена адреса через iptables для T Reply with quote
Tor не использую. Но хотелось бы узнать

Pioner wrote:

Сейчас у меня перенаправление трафка ath1 на Tor выполняется командами:
Code:

iptables -t nat -A PREROUTING -i ath1 -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -i ath1 -p tcp --syn -j REDIRECT --to-ports 9040

До этого момента все работает.


Имеем на DD-WRT v3.0-r30949 std (c) 2016 NewMedia-NET GmbH Release: 12/15/16 при настройках через WEB все должно завестись с пол тычка, т.е. на данном релизе и при настройках по умолчанию получаем

Code:
default via ххх.ххх.ххх.ххх dev ppp0  scope link
...
192.168.100.0/24 dev ath0.1  proto kernel  scope link  src 192.168.100.1
192.168.130.0/24 dev br0  proto kernel  scope link  src 192.168.130.99
...

1362 root     23716 S    tor --defaults-torrc /tmp/torrc

SocksPort 9050
SocksPort 192.168.130.99:9050
Address 192.168.11.11

br0 = vlan1 ath0

настройки DNSMasq для данного интерфейса
dhcp-option=ath0.1, 6, 8.8.8.8

сервис тора весит на 192.168.130.99:9050
dd-wrt сам на 192.168.130.99
ath0.1 - 192.168.100.1 (доп wi-fi к основному ath0), клиент получит нужный DNS адрес 8.8.8.8
192.168.11.11 - от балды

Code:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
...
  87 18709 ACCEPT     0    --  ath0.1 *       0.0.0.0/0            0.0.0.0/0     

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
...
    0     0 ACCEPT     0    --  ath0.1 *       0.0.0.0/0            0.0.0.0/0
...
Chain POSTROUTING (policy ACCEPT 30 packets, 2588 bytes)
...
    0     0 SNAT       0    --  *      ppp0    192.168.100.0/24     0.0.0.0/0           to:ххх.ххх.ххх.ххх


На клиенте wi-fi который подключился к роутеру через ath0.1 на броузере делаю настройку работа через 192.168.130.99:9050

смотрим кусочек cat ip_conntrack | grep 192.168.100 где 192.168.100.30 клиент на ath0.1 через DHCP получил IP и DNS 8.8.8.8
Code:

udp      17 117 src=192.168.100.30 dst=8.8.8.8 sport=53628 dport=53 packets=1 bytes=63 src=8.8.8.8 dst=172.18.42.52 sport=53 dport=53628 packets=1 bytes=91 mark=0 use=2
tcp      6 118 TIME_WAIT src=192.168.100.30 dst=192.168.130.99 sport=53075 dport=9050 packets=10 bytes=991 src=192.168.130.99 dst=192.168.100.30 sport=9050 dport=53075 packets=9 bytes=1347 [ASSURED] mark=0 use=2
udp      17 76 src=192.168.100.30 dst=8.8.8.8 sport=63679 dport=53 packets=2 bytes=140 src=8.8.8.8 dst=xxx.xxx.xxx.xxx sport=53 dport=63679 packets=2 bytes=324 [ASSURED] mark=0 use=2
tcp      6 3597 ESTABLISHED src=192.168.100.30 dst=192.168.130.99 sport=53076 dport=9050 packets=6 bytes=333 src=192.168.130.99 dst=192.168.100.30 sport=9050 dport=53076 packets=5 bytes=280 [ASSURED] mark=0 use=2
tcp      6 3599 ESTABLISHED src=192.168.100.30 dst=192.168.130.99 sport=53080 dport=9050 packets=5 bytes=281 src=192.168.130.99 dst=192.168.100.30 sport=9050 dport=53080 packets=4 bytes=218 [ASSURED] mark=0 use=2
Pioner
DD-WRT Novice


Joined: 24 Aug 2016
Posts: 18

PostPosted: Mon Jan 23, 2017 10:45    Post subject: Re: Подмена адреса через iptables для T Reply with quote
vasek00, спасибо за внимание к проблеме, но не очень понял Ваш комментарий.
У меня по команде типа cat ip_conntrack | grep 192.168.1.30 где 192.168.1.30 клиент на ath1
выходит листинг с кучей разных dst, в т.ч. гугловских DNS, как определить какой из них внешний IP Tor а даже если определю какой в нем смысл если он каждый раз новый.
Все-таки больше похоже для подмены адресов в SNAT мне нужен не внешний IP Torа а внешний IP ath*, т.к. редирект-то нужно делать до отправки в сеть Tor, правильно?
Но на него почему-то не работает: ... -j SNAT --to-source 192.168.1.2
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Jan 23, 2017 12:02    Post subject: Re: Подмена адреса через iptables для T Reply with quote
Pioner wrote:
vasek00, спасибо за внимание к проблеме, но не очень понял Ваш комментарий.
У меня по команде типа cat ip_conntrack | grep 192.168.1.30 где 192.168.1.30 клиент на ath1
выходит листинг с кучей разных dst, в т.ч. гугловских DNS, как определить какой из них внешний IP Tor а даже если определю какой в нем смысл если он каждый раз новый.
Все-таки больше похоже для подмены адресов в SNAT мне нужен не внешний IP Torа а внешний IP ath*, т.к. редирект-то нужно делать до отправки в сеть Tor, правильно?
Но на него почему-то не работает: ... -j SNAT --to-source 192.168.1.2

Мне не понятны начальные настройке в посте я показал что получается по настройкам на релизе r30949.
ip_conntrack я привел для примера показать запрос от клиента что и куда и через что идет.
У вас принцип tor - использование прозрачного прокси на его базе, т.е. работа клиента с интернет через него, я в броузере прописал Proxy 192.168.130.99 (роутер) и порт tor 9050 и клиент получил выход в интернет, где по ip_conntrack от него видны пакеты на порт 9050.

У вас есть только один внешний IP это от провайдера интернета, команда ifconfig.

По поводу подмены имейте ввиду клиент отослал запрос на 78.1.1.1 и будет ждать от него ответа, без разнице что происходит после него (клиента) на роутер и далее в сети.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Jan 23, 2017 12:19    Post subject: Re: Подмена адреса через iptables для T Reply with quote
Или вы хотите чтоб клиенты не чего не знали, что выход у них через tor.
Display posts from previous:    Page 1 of 1
Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum