LinuxForum.Fans
Тема

Поговорим об FORWARD

Автор: Kettler 19 сообщений 4216 просмотров
#228186

Был спор в какой то теме типо я не прав.
Хорошо я соглашусь что я не прав если вы укажите на мою ошибку!

На шлюзе имеем туннель соединённый с другим сервером. Будем считать сервер <<<---- клиент.
Выводы с клиента.

[console]~# ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.200.2 P-t-P:192.168.200.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:498 errors:0 dropped:0 overruns:0 frame:0
TX packets:504 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:182352 (178.0 KiB) TX bytes:72586 (70.8 KiB)[/console]

[console]~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.213.1.63 10.213.17.254 255.255.255.255 UGH 0 0 0 eth1
80.252.130.254 10.213.17.254 255.255.255.255 UGH 0 0 0 eth1
10.213.14.55 10.213.17.254 255.255.255.255 UGH 0 0 0 eth1
192.168.200.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.255.255.13 10.213.17.254 255.255.255.255 UGH 0 0 0 eth1
10.255.255.13 10.213.17.254 255.255.255.255 UGH 0 0 0 eth1
10.255.255.13 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.128.0 10.213.17.254 255.255.255.0 UG 0 0 0 eth1
10.213.17.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.123.123.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
0.0.0.0 10.213.17.254 0.0.0.0 UG 0 0 0 eth1
[/console]


[console]~# ping 192.168.200.1
PING 192.168.200.1 (192.168.200.1) 56(84) bytes of data.
64 bytes from 192.168.200.1: icmp_seq=1 ttl=64 time=0.523 ms
64 bytes from 192.168.200.1: icmp_seq=2 ttl=64 time=0.520 ms
^C
[/console]

Всё как бы отлично.
Ставим в Iptables Forward ACCERT и включаем маршрутизацию.

[console]cat /proc/sys/net/ipv4/ip_forward
1
iptables -P FORWARD ACCEPT
[/console]

За данным шлюзом есть комп находящийся в сети 10.123.123.0/24

Подключение по локальной сети - Ethernet адаптер:

[console] DNS-суффикс этого подключения . . :
IP-адрес . . . . . . . . . . . . : 10.123.123.253
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 10.123.123.1[/console]

Так почему я не могу с данного клиента увидеть 192.168.200.1 пока не включу SNAT?

#228241

А можно посмотреть iptables -L всё что относится только к цепочки FORWARD ?
И я бы tcpdump' ом посмотрел, что делается на шлюзе при пинге.

#228248

[console]Chain FORWARD (policy ACCEPT)
target prot opt source destination
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/S YN TCPMSS clamp to PMTU
ACCEPT all -- 10.213.1.63 110.123.123.253
ACCEPT all -- 10.123.123.253 10.213.1.63
ACCEPT all -- 10.213.1.63 110.123.123.253
ACCEPT all -- 10.123.123.253 10.213.1.63
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTAB LISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere multiport dports po p3,smtp,imap2,aol,imaps,ftp,ftp-data,imap2,ssmtp
ACCEPT tcp -- anywhere anywhere multiport sports po p3,smtp,imap2,aol,imaps,ftp,ftp-data,imap2,ssmtp
ACCEPT tcp -- anywhere radio.flex.ru multiport dports 80 00,https
ACCEPT tcp -- svc.flex.ru anywhere multiport sports 80 00,https
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
[/console]


[console]tcpdump -vv host 10.123.123.253 | grep 192.168.200.1
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
08:22:35.210048 IP (tos 0x0, ttl 128, id 1186, offset 0, flags [none], proto ICMP (1), length 60) 10.123.123.253 > 192.168.200.1: ICMP echo request, id 512, seq 8704, length 40
08:22:40.383436 IP (tos 0x0, ttl 128, id 1204, offset 0, flags [none], proto ICMP (1), length 60) 10.123.123.253 > 192.168.200.1: ICMP echo request, id 512, seq 8960, length 40
[/console]

#228249

Применяю SNAT

[console]iptables --table nat --append POSTROUTING --out-interface tun0 -j SNAT --to-source 192.168.200.2[/console]

[console]Обмен пакетами с 192.168.200.1 по с 32 байт данных:

Ответ от 192.168.200.1: число байт=32 время<1мс TTL=63
Ответ от 192.168.200.1: число байт=32 время<1мс TTL=63
Ответ от 192.168.200.1: число байт=32 время<1мс TTL=63[/console]

#228252

Мне теперь это спать не даёт :( если должно то почему не пашет.

#228291
Kettler написал:
Мне теперь это спать не даёт :( если должно то почему не пашет.

Ещё раз, такой же tcpdump, только -i tun0

#228340

Kettler,
Если честно, не совсем понятно, как оно будет без SNAT работать? В этом же суть NAT,

Kettler написал:
За данным шлюзом есть комп находящийся в сети 10.123.123.0/24

не могу сейчас попробовать, но если этому компу добавить еще маршрут 192.168.200.0 через интерфейс "10.123.123.1"?

#228359
KRUTO написал:
Если честно, не совсем понятно, как оно будет без SNAT работать? В этом же суть NAT

И я был того же мнения пока меня в какой то теме не хотели переубедить.

KRUTO написал:
не могу сейчас попробовать, но если этому компу добавить еще маршрут 192.168.200.0 через интерфейс "10.123.123.1"?

Смысла нету! Если на компе в сети 10.123.123.0/24 был ещё поднят VPN например то есть вариант с маршрутом а так неа.

Вот та тема где пытались переубедить
http://linuxforum.ru/viewtopic.php?id=19743

А теперь молчат.

#228362
CyberDaemon написал:
[quote=Kettler]Мне теперь это спать не даёт :( если должно то почему не пашет.

Ещё раз, такой же tcpdump, только -i tun0[/quote]
Да не вопрос ток когда организация закончит работать а точнее после 6.

#228374

Kettler,
Я так понял, они там настраивают дистрибутив, в котором прописаны скрипты поднятия NAT... С другой стороны, конечно, если всем компам внутренней подсети раздать белые адреса, то SNAT не нужен... Что-то там разговор ни о чем...

#228388

Щас тестить буду в другом плане) глянем.

#228396

На свои вопросы ответы нашол сам. Всем спс! Удаляйте тему.

#228402

Блин Xlin :D тебе бы мне сеть переделать :D :D :D
Я просто щас вспомнил надо бы переделать систему smile .

У меня основная проблема была в маршрутизации.
Выходные займусь на переделку сети.

Я счастлив) что всё будет ещё красивее. А то уже скоро контор 10 будет вот и надо будет все объединить и мониторинг через Zabbix

#228455

Kettler,
Проясни ситуацию??? Интересно стало

#228463

Грубо говоря на клиенте

[console]tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.200.2 P-t-P:192.168.200.1 Mask:255.255.255.255
[/console]

За ним сеть 10.123.123.0/24

Значиться на сервере куда конектиться tun0 за ним сеть 192.168.0.0/24
Для того что бы увидели друг друга мало ток разрешить форвард. На самом деле всё элементарно просто руки и времени не хватало.

На клиенте где у нас 192.168.200.2
в iptables пишим

[console]iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -d 10.123.123.0/24 -j ACCEPT
iptables -A FORWARD -s 10.123.123.0/24 -d 192.168.0.0/24 -j ACCEPT
[/console]
И пишим маршрут

[console]route add 192.168.0.0/24 gw 192.168.200.1[/console]

На сервере тоже самое


[console]iptables -A INPUT -s 10.123.123.0/24 -j ACCEPT
iptables -A OUTPUT -d 10.123.123.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -d 10.123.123.0/24 -j ACCEPT
iptables -A FORWARD -s 10.123.123.0/24 -d 192.168.0.0/24 -j ACCEPT
[/console]
И пишим маршрут

[console]route add 192.168.0.0/24 gw 192.168.200.2[/console]

После чего всё стало хорошо. Это наброски ток на самом деле надо всё делать жёстче.
Может я и ступил где то ну и что с кем не бывает.

#228495

Kettler,
Это к слову о маршрутах wink
Кстати, у меня так и связаны 2 сети в моей конторе

#228506
KRUTO написал:
Kettler,
Это к слову о маршрутах wink
Кстати, у меня так и связаны 2 сети в моей конторе

Да тут всего хватает. Лан пошол все конторы объединять.

#228757

Блин Xlin тебе бы мне сеть переделать

Ну и так все работало )) Но без маскарада на подсети лучше )) реальные ip радуют.

#228777
--=XliN=-- написал:
Блин Xlin тебе бы мне сеть переделать

Ну и так все работало )) Но без маскарада на подсети лучше )) реальные ip радуют.

угу

Войдите или зарегистрируйтесь, чтобы ответить.