LINUX.ORG.RU
ФорумAdmin

Проблемы с маршрутизацией


0

0

В общем суть следующая есть сервер с двумя сетевыми картами eth0 (192.168.22.15) и eth1 (192.168.1.1) нужно обеспечить машине 192.168.1.2 в сеть 192.168.22.0 через сервер.

Что я чудил:

Первым делом устанавливаем параметры eth0 и eth1

eth0:
IP 192.168.22.15
GW 192.168.22.1 (Это шлюз сети провайдера)

eth1:
IP 192.168.1.1
GW 192.168.22.15

Таблица роутинга:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.22.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default net22-gw.fast.n 0.0.0.0 UG 0 0 0 eth0

Далее устанавливаю правила для цепочки FORWARD

iptables -P FORWARD DROP
iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.22.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.22.0/24 -d 192.168.1.0/24 -j ACCEPT

Настраиваю вторую машину:
eth0:
IP 192.168.1.2
GW 192.168.1.1

Таблица роутинга:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Вот. Вроде все. Правда ничего из этого не вышло :\ Пингуется 1.1 и 22.15 и всё :\
Уже не первый день бьюсь, помогите плиз =] Перерыл кучу инфы в инете, но либо не то искал либо не то нашел...

Системы Fedore Core 3, ядра 2.10 и 2.11

anonymous

Ответ на: комментарий от anonymous

Непонятно зачем стоит gw на интерфейс eth0.
А в остальном все нормально, однако неясноследующее: имеются ли правила для цепочек INPUT и OUTPUT и какая там политика по умолчанию. Посмотри может в этом все проблемы?

msv
()
Ответ на: комментарий от msv

эээ...

если тебе надо попасть из сети 192.168.1.0 в 192.168.22.0 и наоборот - то надо настраивать роутинг между сетями. man route

а вот причём тут форвардинг в iptables ???? или я что-то пропустил в ентой жизни?

//alex

anonymous
()

> имеются ли правила для цепочек INPUT и OUTPUT и какая там политика по умолчанию.
Поверьте, для forwarding-а это абсолютно не важно !

Настройки правильные, все должно работать, НО знает ли сеть 192.168.22.0/24 о том, что к 192.168.1.0/24 нужно добираться через 192.168.22.15 ???
Попробуйте на шлюзе запустить "tcpdump -ni eth1 host 192.168.1.2" и посмотрите, передает ли он через eth1 пакеты от 192.168.1.2. Если они с той стороны выходят, то скорее всего проблема в том, что они не возвращаются обратно.

spirit ★★★★★
()
Ответ на: комментарий от spirit

Действительно, пакеты выходят но обратно не возвращаються.

tcpdump -ni eth1 host 192.168.1.2

12:22:09.836464 IP 192.168.1.2 > 192.168.22.1: icmp 64: echo request seq 0 12:22:10.836274 IP 192.168.1.2 > 192.168.22.1: icmp 64: echo request seq 1 12:22:11.836049 IP 192.168.1.2 > 192.168.22.1: icmp 64: echo request seq 2

гм. А какие есть способы решения данной проблеммы? Маскарадинг?

anonymous
()
Ответ на: комментарий от anonymous

Решение - либо на всех компах сети 192.168.22.0 прописать маршруты к сети 192.168.1.0, либо SNAT/MASQUERADE на шлюзе:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.22.0/24 -j SNAT --to-source 192.168.22.15

spirit ★★★★★
()
Ответ на: комментарий от spirit

Огромное спасибо! Всё заработало, долой бессонные ночи :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.