Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix (https://forum.antichat.xyz/forumdisplay.php?f=43)
-   -   Администрирование Linux-а - маршрутизация (https://forum.antichat.xyz/showthread.php?t=16339)

KillAll 23.03.2006 01:09

Администрирование Linux-а - маршрутизация
 
Доброго времени суток!
У меня проблема - поднял pppd, для связи с удаленным хостом под Win . Винда конектится, входит в сеть и

все.............. И дельше Linux-а не проходит.
IP-адресс сетевой карты Linux-а пингует без проблем, а машины которые стоят в локалке не пингует. tcpdump

показывает что через ррр0 пинговые пакеты проходят, а через сетевуху нет.
iptables выключен, маршруты вроде бы выстроены нормально, а пакеты через Linux не проходят.
Если кто знает - киньте мыслю как побороть ситуацию!
Заранее спасибо!

Nova 23.03.2006 04:12

Dns и Шлюз прописывал сервака под линухом ??? ЕСЛИ НЕТ ТО НА ВИНДОВОЙ МАШИНЕ ПРОПИШИ !

KillAll 23.03.2006 09:25

И DNS прописывал на виндовой и шлюзы по умолчанию стоят.
И не я один над эти голову ламал.............
А он сАбАкА работать не хочет.................
Сегодня попробую iptables запустить и прописать все на разрешение пересылки пакетов. Может помочь?

KillAll 23.03.2006 23:27

Всем ПРИВЕТ!!!
Большое спасибо NOVA за то, что хоть один человек попроболвал проникнуться моей проблемой!
А всем остальным за то, что читали мою тему!
Проблему я поборол, но бороться пришлось еще с одной машиной пол Linux-ом.

Рассказываю всю историю сначала:
Одна корпоративная сеть, в которой я был админом, решила немного расширить свою географию.
Руководство решило подключить одну машину одного из удаленных филиалов к этой сети.
Но сложность в том, что сеть не разрасталась с момента моего ухода и поэтому нынешний админ был не в курсе как и

куда что ПИХАТЬ. Поэтому позвали меня. А проблема кроится что на основном сервере нашего региона закончились

последовательные порты для подключения модемов. Тоесть не так что бы совсем закончились - закончились рабочие

потры. Стоит в нем МОХА (плата расширений последовательных портов) в которой определяются только первых 3 порта, а

потом глухо. Ставили и 4-х и 8-ми портовые -- результат один. Подымаются только первых три порта и все.

Помучились, вместе со мной, вечер и решили ставить еще один сервер-маршрутизатор под Linux-ом.
Linux успешно поставил. Поднял pppd по выделеной линии, подымал из /etc/inittab .
Демон "точка-точка протокола" работает нормально, а вот дальше Linux-а пакеты не проходят.
Пингуется интерфейс модема, пингуется интерфейс сетевой карты, а в локальную сетку пакеты не проходят.
Первым делом отключил iptables (оказывается зря) - ничего. Прописал на "удаленной" машине DNS-сервер и шлюз по

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

настроек инициализации pppd - та же картина. Попробовал поставить gated. Но потом дошло, что толку тоже не будет -

брать маршруты по RIP ему будет то неоткуда. Нету у него грамотного маршрутизатора сверху. Вырубил gated. Вечером

задал вопрос на форуме ANTICHATа и на форуме hackzonы. Ответ прислал NOVA - за что ему ОГРОМНОЕ СПАСИБО! Хоть один

человек заинтересовался. Еще спасибо KEZу за плюсик в репутации. ;-)
А на hackzone тему вообще снесли.
Извините, что отвлекся. Продолжаю:
Утром когда с дома просматривал ответы на форумах меня прострельнула мысля - может у iptables включить forvard .
Поискал статейки - первое что попалось на глаза - в Мануалах Linux-Unix на hackzone нашел статью по элементарной

настройке шлюза (http://www.hackzona.ru/hz.php?name=News&new_topic=72). В которой говорилось:

Для начала включим IP forwarding. Сделаем это путем добавления следующей строки в /etc/sysctl.conf

net.ipv4.ip_forward = 1

Прописав IP forwarding и запустив iptables увидил сдвиги с мертвой точки. Пинги начали проходить через

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

на мои пинги через модемное соединение в другой город (не в мою сторону). Направления следования пакетов определял

через tcpdump ("tcpdump -i ppp0" и "tcpdump -i eth0").
Прописал на основном маршрутизаторе статический маршрут на узел подключаемого абонента во внутреннюю локальную

сетку. Результат - направление отправки пакетов изменилось, но одно маленькое "НО" -- теперь основной

маршрутизатор отсылал в локалку не пинг ответы, а ARP-запросы на МАС-адресс того кто его пингует............
Почесавши "репу" пропинговал я с дополнительного маршрутизатора основной маршрутизатор. На основном маршрутизаторе

узнал МАС-адресс интерфеса на который должен отсылать основной маршрутизатор ответы. И статически прописал, в

ARP-таблицу основного маршрутизатора, адресс удаленного подключаемого узла с МАС-адресом сетевой карты

дополнительного маршрутизатора. И ВСЕ ЗАРАБОТАЛО!!!
Поле перезагрузки маршрутизаторов -- опять все перестало работать.......... Потому что маршруты были в кеше, а

посли перезагрузки, естественно, не востановились. Поэтому прописал вышеуказанные маршруты в /etc/rc.d/rc.local и

после очередной загрузки все начало работать!
Вот так я решил свою проблему. Кто-то может сказать, что "сделано по топорному", но пока решил задачу как смог.
А на счет топорности согласен.

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

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

Ссылку на статью дал - так как действительно помогла и попалась на глаза первой.

Всем спасибо, за то что удосужились прочитать до конца!

Kalashmat 30.03.2006 09:34

Цитата:

Сообщение от KillAll
Прописал на основном маршрутизаторе статический маршрут на узел подключаемого абонента во внутреннюю локальную сетку.

Прочитал и мне не понятно, как это ты прописал в локалку, куда? По идее на Linux шлюзе с pppd в качестве destination надо прописать IP адрес удаленной сети, а в качестве gateway удаленный комп, в качестве интерфейса ppp0.

KillAll 31.03.2006 12:40

Цитата:

Прочитал и мне не понятно, как это ты прописал в локалку, куда? По идее на Linux шлюзе с pppd в качестве destination надо прописать IP адрес удаленной сети, а в качестве gateway удаленный комп, в качестве интерфейса ppp0.
В принципе то ты прав, но проблема в том что у меня необходимо было поднять два сервера в качестве шлюзов. Ко второму шлюзу будет подключена только одна удаленная машина. А первый является шлюзом во внешнюю сеть.

Относительно твоего вопроса - на основном шлюзе прописал маршрут на удаленную машину, подключаемую ко второму шлюзу, так что-бы пакеты с IP-адрессом удаленной машины уходили на интерфейс eth0, а в ARP-таблицу прописал на IP-адресс удаленной машины МАС-адресс второго Linux-шлюза.

Надеюсь ответил на вопрос.

Kalashmat 31.03.2006 22:02

Цитата:

Сообщение от KillAll
В принципе то ты прав, но проблема в том что у меня необходимо было поднять два сервера в качестве шлюзов. Ко второму шлюзу будет подключена только одна удаленная машина. А первый является шлюзом во внешнюю сеть.

Относительно твоего вопроса - на основном шлюзе прописал маршрут на удаленную машину, подключаемую ко второму шлюзу, так что-бы пакеты с IP-адрессом удаленной машины уходили на интерфейс eth0, а в ARP-таблицу прописал на IP-адресс удаленной машины МАС-адресс второго Linux-шлюза.

Надеюсь ответил на вопрос.

Да, врубился, хитро... :) А нельзя просто на второй linux машине организовать обычную маршрутизацию и удаленному компьютеру (который к ней подключается) присвоить другую IP сеть, естесственно на первой Linux машине у тебя просто будет две роут записи на две сети... По идее куда проще маршрутизировать трафик на IP уровне не углублясь в L2.

KillAll 01.04.2006 23:28

Пробовал.............. Но по какой-то загадочной причине оно и не пошло..........
Поэтому и пришлось гланды через задний проход удалять......................


Время: 03:23