Администрирование Linux-а - маршрутизация

Discussion in 'Безопасность и Анонимность' started by KillAll, 23 Mar 2006.

  1. KillAll

    KillAll Elder - Старейшина

    Joined:
    27 Feb 2006
    Messages:
    78
    Likes Received:
    10
    Reputations:
    0
    Доброго времени суток!
    У меня проблема - поднял pppd, для связи с удаленным хостом под Win . Винда конектится, входит в сеть и

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

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

    Nova Green member

    Joined:
    15 Jul 2005
    Messages:
    1,233
    Likes Received:
    423
    Reputations:
    280
    Dns и Шлюз прописывал сервака под линухом ??? ЕСЛИ НЕТ ТО НА ВИНДОВОЙ МАШИНЕ ПРОПИШИ !
     
    _________________________
  3. KillAll

    KillAll Elder - Старейшина

    Joined:
    27 Feb 2006
    Messages:
    78
    Likes Received:
    10
    Reputations:
    0
    И DNS прописывал на виндовой и шлюзы по умолчанию стоят.
    И не я один над эти голову ламал.............
    А он сАбАкА работать не хочет.................
    Сегодня попробую iptables запустить и прописать все на разрешение пересылки пакетов. Может помочь?
     
  4. KillAll

    KillAll Elder - Старейшина

    Joined:
    27 Feb 2006
    Messages:
    78
    Likes Received:
    10
    Reputations:
    0
    Всем ПРИВЕТ!!!
    Большое спасибо 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 и

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

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

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

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

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

    Kalashmat Member

    Joined:
    28 Mar 2006
    Messages:
    20
    Likes Received:
    6
    Reputations:
    0
    Прочитал и мне не понятно, как это ты прописал в локалку, куда? По идее на Linux шлюзе с pppd в качестве destination надо прописать IP адрес удаленной сети, а в качестве gateway удаленный комп, в качестве интерфейса ppp0.
     
    1 person likes this.
  6. KillAll

    KillAll Elder - Старейшина

    Joined:
    27 Feb 2006
    Messages:
    78
    Likes Received:
    10
    Reputations:
    0
    В принципе то ты прав, но проблема в том что у меня необходимо было поднять два сервера в качестве шлюзов. Ко второму шлюзу будет подключена только одна удаленная машина. А первый является шлюзом во внешнюю сеть.

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

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

    Kalashmat Member

    Joined:
    28 Mar 2006
    Messages:
    20
    Likes Received:
    6
    Reputations:
    0
    Да, врубился, хитро... :) А нельзя просто на второй linux машине организовать обычную маршрутизацию и удаленному компьютеру (который к ней подключается) присвоить другую IP сеть, естесственно на первой Linux машине у тебя просто будет две роут записи на две сети... По идее куда проще маршрутизировать трафик на IP уровне не углублясь в L2.
     
  8. KillAll

    KillAll Elder - Старейшина

    Joined:
    27 Feb 2006
    Messages:
    78
    Likes Received:
    10
    Reputations:
    0
    Пробовал.............. Но по какой-то загадочной причине оно и не пошло..........
    Поэтому и пришлось гланды через задний проход удалять......................