Подмена IP (spoofing)

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


Joined: 27 Aug 2016
Posts: 7

PostPosted: Sat Aug 27, 2016 23:05    Post subject: Подмена IP (spoofing) Reply with quote
Всем добрый день.
Дела такие:
Eсть роутер с dd-wrt, имеется локальная сеть вида 192.168. и внешняя (ppoe).
Как сделать чтобы клиент в локальной сети, обращаясь по адресу в интернете (ну допустим 8.8.8.Cool перенаправлялся роутером на адрес в локалке (допустим 192.168.1.2) ?
Sponsor
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Sun Aug 28, 2016 14:59    Post subject: Re: Подмена IP (spoofing) Reply with quote
Не понятен пример с IP - 8.8.8.8 - это публичный серевер DNS


Поиск по - Redirect, если речь идет об доступе к DNS серверу с его 8.8.8.8 то смотрите DNSmasq - http://mnorin.com/nastrojka-dnsmasq-dhcp-dns.html или forward порта 53 на нужный вам IP или запретить все IP (порт 53) кроме нужного.
g147
DD-WRT Novice


Joined: 27 Aug 2016
Posts: 7

PostPosted: Sun Aug 28, 2016 16:10    Post subject: Re: Подмена IP (spoofing) Reply with quote
vasek00 wrote:
Не понятен пример с IP - 8.8.8.8 - это публичный серевер DNS


Гугловский днс тут просто для примера - я мог точно так же написать любой другой адрес.
DNSmasq мне не подойдет, так как dns тут вообще не причем.

>или forward порта 53 на нужный вам IP
Скорее нужно вот это, как можно так сделать? (по сути требуется перенаправить всего 1 порт)
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Aug 29, 2016 12:22    Post subject: Re: Подмена IP (spoofing) Reply with quote
g147 wrote:

Гугловский днс тут просто для примера - я мог точно так же написать любой другой адрес.

Так и надо было написать другой например xx.xx.xx.xx на 192.168.1.2
g147 wrote:

>или forward порта 53 на нужный вам IP
Скорее нужно вот это, как можно так сделать? (по сути требуется перенаправить всего 1 порт)

Смотрите настройки в WEB ниже
g147
DD-WRT Novice


Joined: 27 Aug 2016
Posts: 7

PostPosted: Mon Aug 29, 2016 19:50    Post subject: Re: Подмена IP (spoofing) Reply with quote
vasek00 wrote:
g147 wrote:

Гугловский днс тут просто для примера - я мог точно так же написать любой другой адрес.

Так и надо было написать другой например xx.xx.xx.xx на 192.168.1.2
g147 wrote:

>или forward порта 53 на нужный вам IP
Скорее нужно вот это, как можно так сделать? (по сути требуется перенаправить всего 1 порт)

Смотрите настройки в WEB ниже


В source net надо написать нужный мне адрес, как я понимаю?
Попробовал, не работает.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Tue Aug 30, 2016 5:08    Post subject: Re: Подмена IP (spoofing) Reply with quote
g147 wrote:

В source net надо написать нужный мне адрес, как я понимаю?
Попробовал, не работает.

Попробуем :
protocol - тут выбирается тип протокола TCP/UDP или оба
source net - сеть источника, обычно 0.0.0.0/0 говоря простыми словами любой источник
port from - какой порт слушать, обязательно
IP address и prot to - локальный ПК и его порт

После ввода - Save и Apply
В результате чего появиться запись iptables, действия dd-wrt при прокидке порта
Code:
root@My-Fan:~# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 491 packets, 71336 bytes)
 pkts bytes target     prot opt in     out     source               destination         
...
    0     0 DNAT       tcp  --  *      *       0.0.0.0              [IP_PPTP]        tcp dpt:80 to:192.168.130.200:8080
    0     0 DNAT       tcp  --  vlan2  *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:192.168.130.200:8080
    0     0 DNAT       udp  --  *      *       0.0.0.0              [IP_PPTP]        udp dpt:80 to:192.168.130.200:8080
    0     0 DNAT       udp  --  vlan2  *       0.0.0.0/0            0.0.0.0/0           udp dpt:80 to:192.168.130.200:8080
...
root@My-Fan:~# iptables -nvL
...
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
...
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0              192.168.130.200     tcp dpt:8080
    0     0 ACCEPT     udp  --  *      *       0.0.0.0              192.168.130.200     udp dpt:8080
...

где
IP_PPTP - ip адрес поднятого интерфейса PPTP соединения
vlan2 - интерфейс WAN порта
192.168.130.200:8080 - локальный адрес и порт назначения

Разрешить доступ по telnet удаленно на роутер, на нестандартном порту 65500 и прокидка на нужный 23 порт
Code:
root@My-Fan:~# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 160 packets, 18328 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            [IP_PPTP]        tcp dpt:65500 to:192.168.130.1:23
...

Правила в цепочке FORWARD нет, так как это локальный сервис роутера.

Проверьте релиз прошивки и еще раз настройки.
g147
DD-WRT Novice


Joined: 27 Aug 2016
Posts: 7

PostPosted: Tue Aug 30, 2016 9:48    Post subject: Re: Подмена IP (spoofing) Reply with quote
vasek00 wrote:
g147 wrote:

В source net надо написать нужный мне адрес, как я понимаю?
Попробовал, не работает.

Попробуем :
protocol - тут выбирается тип протокола TCP/UDP или оба
source net - сеть источника, обычно 0.0.0.0/0 говоря простыми словами любой источник
port from - какой порт слушать, обязательно
IP address и prot to - локальный ПК и его порт

После ввода - Save и Apply
В результате чего появиться запись iptables, действия dd-wrt при прокидке порта
Code:
root@My-Fan:~# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 491 packets, 71336 bytes)
 pkts bytes target     prot opt in     out     source               destination         
...
    0     0 DNAT       tcp  --  *      *       0.0.0.0              [IP_PPTP]        tcp dpt:80 to:192.168.130.200:8080
    0     0 DNAT       tcp  --  vlan2  *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:192.168.130.200:8080
    0     0 DNAT       udp  --  *      *       0.0.0.0              [IP_PPTP]        udp dpt:80 to:192.168.130.200:8080
    0     0 DNAT       udp  --  vlan2  *       0.0.0.0/0            0.0.0.0/0           udp dpt:80 to:192.168.130.200:8080
...
root@My-Fan:~# iptables -nvL
...
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
...
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0              192.168.130.200     tcp dpt:8080
    0     0 ACCEPT     udp  --  *      *       0.0.0.0              192.168.130.200     udp dpt:8080
...

где
IP_PPTP - ip адрес поднятого интерфейса PPTP соединения
vlan2 - интерфейс WAN порта
192.168.130.200:8080 - локальный адрес и порт назначения

Разрешить доступ по telnet удаленно на роутер, на нестандартном порту 65500 и прокидка на нужный 23 порт
Code:
root@My-Fan:~# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 160 packets, 18328 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            [IP_PPTP]        tcp dpt:65500 to:192.168.130.1:23
...

Правила в цепочке FORWARD нет, так как это локальный сервис роутера.

Проверьте релиз прошивки и еще раз настройки.


Не понял из вашего сообщения, где мне указывать нужный адрес? Проброс портов - он так-то служит для переадресации обращений к роутеру, а не подмены адреса.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Tue Aug 30, 2016 10:47    Post subject: Re: Подмена IP (spoofing) Reply with quote
g147 wrote:

Не понял из вашего сообщения, где мне указывать нужный адрес? Проброс портов - он так-то служит для переадресации обращений к роутеру, а не подмены адреса.


Согласно скрина WEB странице выше :
source net - сеть источника, обычно 0.0.0.0/0 говоря простыми словами любой источник
port from - какой порт слушать, обязательно например 80
IP address и prot to - локальный ПК 192.168.1.2 и его порт например 8080


Из вне все что за роутеров не видно.
Quote:
Трансляция сетевых адресов (NAT) выполняет подмену внутренних IP-адресов в уникальные внешние глобальные IP-адреса. NAT подменяет первоначальный IP-адрес источника и номера TCP- или UDP-порта источника перед тем как переслать пакет в Интернет. Таблица NAT хранит исходные адреса и номера портов, чтобы восстановить их первоначальные значения в ответном пакете.

Quote:
tcp ... src=192.168.1.16 dst=87.хх.хх.68 sport=59015 dport=443 ... src=87.хх.хх.68 dst=[внеш_IP_WAN] sport=443 dport=59015 ...
udp ... src=хх.хх.хх.2 dst=хх.хх.хх.14 sport=27306 dport=53 ... src=хх.хх.хх.14 dst=[внеш_IP_WAN] sport=53 dport=27306 ...
tcp ... src=192.168.1.16 dst=хх.хх.хх.245 sport=34257 dport=80 ... src=хх.хх.хх.245 dst=[внеш_IP_WAN] sport=80 dport=34257 ...

Когда пакет приходит на роутер то он обрабатывается драйвером и передается в ядро где проходит ряд таблиц и только потом передается локальному приложению (роутера) или либо переправляется на другую машину. В кратце для транзитных пакетов :
1. попадает в PREROUTING эта цепочка используется для трансляции сетевых адресов Destination Network Address Translation.
2. FORWARD - в данную цепочку попадают только те пакеты, которые идут на другой хост, тут фильтруется транзитного трафик (туда и обратно)
3. POSTROUTING - эта цепочка для Source Network Address Translation.

Все что делают установки WEB на данной странице видно было по созданным правилам в iptables, поэтому и было рекомендовано проверить версию прошивки и полученные правила, если не заработало.
g147
DD-WRT Novice


Joined: 27 Aug 2016
Posts: 7

PostPosted: Tue Aug 30, 2016 20:05    Post subject: Re: Подмена IP (spoofing) Reply with quote
vasek00 wrote:


Все что делают установки WEB на данной странице видно было по созданным правилам в iptables, поэтому и было рекомендовано проверить версию прошивки и полученные правила, если не заработало.


Кажется, мы друг друга не поняли. Пакет не должен идти во внешнюю сеть, пакет так же роутеру не адресован. Клиент посылает пакет на адрес xx.xx.xx.xx (адрес в интернете), а роутер проксирует его на адрес yy.yy.yy.yy (адрес в локальной сети). При этом клиенту будет казаться, что он работает с адресом хх.хх..
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Wed Aug 31, 2016 5:31    Post subject: Re: Подмена IP (spoofing) Reply with quote
Quote:

Как сделать чтобы клиент в локальной сети, обращаясь по адресу в интернете (ну допустим 8.8.8.Cool перенаправлялся роутером на адрес в локалке (допустим 192.168.1.2) ?
...
Пакет не должен идти во внешнюю сеть, пакет так же роутеру не адресован. Клиент посылает пакет на адрес xx.xx.xx.xx (адрес в интернете), а роутер проксирует его на адрес yy.yy.yy.yy (адрес в локальной сети).


Тогда читаем
Quote:

Поиск по - Redirect, если речь идет об доступе к DNS серверу с его 8.8.8.8 то смотрите DNSmasq - http://mnorin.com/nastrojka-dnsmasq-dhcp-dns.html или forward порта 53 на нужный вам IP или запретить все IP (порт 53) кроме нужного.

Поиск по - Redirect, правило для iptables
В противном случае посмотреть DNAT c ключами -s и to-destination
g147
DD-WRT Novice


Joined: 27 Aug 2016
Posts: 7

PostPosted: Wed Sep 07, 2016 23:29    Post subject: Re: Подмена IP (spoofing) Reply with quote
Quote:

Поиск по - Redirect, правило для iptables
В противном случае посмотреть DNAT c ключами -s и to-destination


Попробовал
iptables -t nat -A PREROUTING -p all -d 1.1.1.1 -j DNAT --to-destination 192.168.1.2
iptables -t nat -I OUTPUT -p all --dest 1.1.1.1 -j DNAT --to-dest 192.168.1.2
iptables -t nat -A OUTPUT -p all -d 1.1.1.1 -j DNAT --to-destination 192.168.1.2

не работает, нет ответа от 1.1.1.1
Забыл добавить, что 1.1.1.1 - это адрес роутера во внешней сети, может в этом дело?
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Thu Sep 08, 2016 6:16    Post subject: Re: Подмена IP (spoofing) Reply with quote
Если вы читали iptables то
-A добавить правило к имеющему на бору, т.е. в конец -I вставить правило (обычно первым)
-p all не знаком с данным критерием

далее
Quote:
iptables -t nat -I OUTPUT ... DNAT ...

есть таблица nat, mangle, filter
filter - Таблица используется для фильтрации пакетов, выполняются DROP, LOG, ACCEPT или REJECT. Имеется три цепочки FORWARD (используемая для фильтрации пакетов, идущих транзитом через брандмауэр); INPUT (проходят пакеты, которые предназначены локальным приложениям); OUTPUT (используется для фильтрации исходящих пакетов).
Примеры правил
Code:
iptables -I PREROUTING -p icmp -d 10.10.10.52 -j DNAT --to-destination 192.168.1.1
iptables -I INPUT -i br0 -j ACCEPT
iptables -I OUTPUT -o br0 -j ACCEPT
iptables -I FORWARD -i br0 -o ppp0 -j ACCEPT

где br0 ppp0 интерфейсы роутера, 10.10.10.52 IP адрес на ppp0 роутера

В интернете есть куча примеров с пере направлением.
Описание на русском iptables
http://www.opennet.ru/docs/RUS/iptables/
g147
DD-WRT Novice


Joined: 27 Aug 2016
Posts: 7

PostPosted: Thu Sep 08, 2016 19:42    Post subject: Re: Подмена IP (spoofing) Reply with quote
Quote:

Code:
iptables -I PREROUTING -p icmp -d 10.10.10.52 -j DNAT --to-destination 192.168.1.1
iptables -I INPUT -i br0 -j ACCEPT
iptables -I OUTPUT -o br0 -j ACCEPT
iptables -I FORWARD -i br0 -o ppp0 -j ACCEPT

где br0 ppp0 интерфейсы роутера, 10.10.10.52 IP адрес на ppp0 роутера

Попробовал так, пинги на сервер не идут. Может дело в том, что правила не сохраняются? Никаких изменений если ввести iptables -L.
Как сохранить правила? надо ли после этого перезагружать роутер?
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Fri Sep 09, 2016 8:43    Post subject: Re: Подмена IP (spoofing) Reply with quote
g147 wrote:
Quote:

Code:
iptables -I PREROUTING -p icmp -d 10.10.10.52 -j DNAT --to-destination 192.168.1.1
iptables -I INPUT -i br0 -j ACCEPT
iptables -I OUTPUT -o br0 -j ACCEPT
iptables -I FORWARD -i br0 -o ppp0 -j ACCEPT

где br0 ppp0 интерфейсы роутера, 10.10.10.52 IP адрес на ppp0 роутера

Попробовал так, пинги на сервер не идут.

Это просто пример синтаксиса написания правил для iptables, к вашей задаче он отношение не имел. Так как у вас в корне не правильно о каком NAT в строке с OUTPUT может идти речь, что за -p all:
Quote:
iptables -t nat -A PREROUTING -p all -d 1.1.1.1 -j DNAT --to-destination 192.168.1.2
iptables -t nat -I OUTPUT -p all --dest 1.1.1.1 -j DNAT --to-dest 192.168.1.2
iptables -t nat -A OUTPUT -p all -d 1.1.1.1 -j DNAT --to-destination 192.168.1.2

Еще раз
есть таблица nat, mangle, filter
filter - Таблица используется для фильтрации пакетов, выполняются DROP, LOG, ACCEPT или REJECT. Имеется три цепочки FORWARD (используемая для фильтрации пакетов, идущих транзитом через брандмауэр); INPUT (проходят пакеты, которые предназначены локальным приложениям); OUTPUT (используется для фильтрации исходящих пакетов).
g147 wrote:

Как сохранить правила? надо ли после этого перезагружать роутер?

Code:

iptables -nvL
iptables -t nat -nvL

если ваших добавленных правил не видно, то они введены с ошибкой (просто не верны)
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