The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Перенаправление eth1 -> eth0"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Перенаправление eth1 -> eth0"
Сообщение от Serezha Искать по авторуВ закладки on 16-Фев-04, 22:53  (MSK)
Уже несколько дней без перерыва безуспешно пытаюсь настроить маршрутизацию из локалки 192.168.2.0 в сеть провайдера a.b.c.208/255.255.255.240 с помощью компьютера c RH8 и 2мя сетевыми карточками eth0 (смотрит в интернет) и eth1 (- в мою локалку). Советы, собранные в этой конференции в чем-то помогли, но мой "маршрутизатор" так и не заработал. Я застопорился на передаче пакетов c eth0 на eth1 ;( Теперь я надеюсь что мои неправильные настройки (приводятся ниже) будут скорректированы знающими товарищами.

ТОВАРИЩИ! Не поленитесь почЕркать мои ошибки, ну и конечно же вписать правильные строчки:

Кое-что мне все-таки удалось. Видимо, трансляция адресов у меня все-таки настроена правильно. Это можно пронаблюдать, включив "capture" в "Network analyzer" и запустив с машины, которую я пытаюсь сделать роутером, "traceroute www.rambler.ru -s 192.168.2.0", пронаблюдав затем все происходящее на интерфейсе eth0, а именно - прямую и обратную подстановку. Попытка открыть ту же страничку на подключенном к "неудавшемуся роутеру" через eth1 компьютере приводит лишь к тому что Network analyzer отмечает поступление пакета содержащего запрос DNS на интерфейс eth1. До eth0 ничего не доходит ;( Нужна помощь.

МОИ НЕПРАВИЛЬНЫЕ НАСТРОЙКИ (для чЕркания, исправления и добавления):

В iptables – все цепочки пустые кроме

iptables –t nat –L –n
...
Chain POSTROUTING (policy ACCEPT)
target   prot   opt   source   destination
SNAT  all     --  192.168.2.0  0.0.0.0/0  to:a.b.c.222

Здесь a.b.c.222 - адрес, выданный провайдером.

route -n
Destination  Gateway  Genmask    Flags  Metric  Ref   Use  Iface
192.168.2.0  192.168.2.1  255.255.255.0   UG  0  0   0 eth1
127.0.0.0  0.0.0.0  255.0.0.0   U  0  0   0 lo
0.0.0.0  a.b.c.209  0.0.0.0   UG  0  0   0 eth0

Здесь a.b.c.209 - адрес шлюза, выданный провайдером.

ifcfg-eth0:

DEVICE=eth0
BOOTPROTO=none
BROADCAST=a.b.c.223
IPADDR=a.b.c.222
NETMASK=255.255.255.240
NETWORK=a.b.c.208
ONBOOT=yes
USERCTL=no
PEERDNS=no
TYPE=Ethernet

ifcfg-eth1:

DEVICE=eth1
BOOTPROTO=none
BROADCAST=192.168.2.255
IPADDR=192.168.2.1
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
USERCTL=no
PEERDNS=no
TYPE=Ethernet

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Перенаправление eth1 -> eth0"
Сообщение от Nikolaev_D emailИскать по авторуВ закладки on 16-Фев-04, 23:11  (MSK)
>Уже несколько дней без перерыва безуспешно пытаюсь настроить

поздравляю.

Ставь FreeBSD и настрой ее хотя бы так http://www.artifact.spb.ru/labs/short/ipfw-iptables.shtml

Это занимает 20 минут чистого времени (без времени инсталяции и пересборки ядра - это кстати опционально можно сделать потом)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Перенаправление eth1 -> eth0"
Сообщение от Ham Искать по авторуВ закладки on 17-Фев-04, 12:27  (MSK)
>>Уже несколько дней без перерыва безуспешно пытаюсь настроить
>
>поздравляю.
>
>Ставь FreeBSD и настрой ее хотя бы так http://www.artifact.spb.ru/labs/short/ipfw-iptables.shtml
>
>Это занимает 20 минут чистого времени (без времени инсталяции и пересборки ядра
>- это кстати опционально можно сделать потом)

Eto ne reshenie probleby, a uhod ot nee.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Перенаправление eth1 -> eth0"
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 13:26  (MSK)
>>Ставь FreeBSD и настрой ее хотя бы так
>Eto ne reshenie probleby, a uhod ot nee.

Именно.

Ustanovit router Zebra iz standartnogo paketa, ona lejit na 2-m diske

Она у меня есть. И теперь я ее запустил, однако все осталось как есть. Пакеты, приходящие на eth1 (локалка) не достигают eth0 ;(
Что делать?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Перенаправление eth1 -> eth0"
Сообщение от ovax Искать по авторуВ закладки on 17-Фев-04, 01:56  (MSK)
Вероятно, ты не включил форвардинг ?


echo 1 > /proc/sys/net/ipv4/ip_forward


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Перенаправление eth1 -> eth0"
Сообщение от klez Искать по авторуВ закладки on 17-Фев-04, 10:45  (MSK)
>echo 1 > /proc/sys/net/ipv4/ip_forward
ето надо прописать в rc.d  а то при перегрузки нечего не будет :)
всмысли пресылки пакетов
потом есть хорошая вешь tcpdump -i eth*
какой надо интерфейс.
и смотришь есть ли запросы в инет на внешнем инрефейсе.
Символьные ссылки умеещь делать в rc.d???


  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Перенаправление eth1 -> eth0"
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 12:02  (MSK)
>Символьные ссылки умеещь делать в rc.d???

Еще нет. Можно немножко разъяснить, прежде чем я это все попробую?
В man нет раздела rc.d, а хочется точно понимать, что делаю...

echo - это, кажется, вывод строки.
>echo 1 > /proc/sys/net/ipv4/ip_forward
Правильно ли я понимаю, что эта команда записывает "1" в файл ip_forward?
Сейчас этот файл у меня имеет нулевой размер. Означает ли это, что ip - форвардинг выключен?

>ето надо прописать в rc.d  а то при перегрузки нечего не
>будет :)

rc.d - это ж каталог. Там есть еще поддиректории /init.d, /rcn.d, n=0..6 и файлы *rc, *rc.local и т.д.

Я так понимаю, что номер соответствует уровню загрузки системы, а rc.local, судя по комментарию в нем, - это скрипт, выполняющийся после выполнения всех скриптов необходимого уровня.

Правильно ли я понимаю, что эту строку я должен впиндюрить в *rc.local?

>всмысли пресылки пакетов
>потом есть хорошая вешь tcpdump -i eth*
>какой надо интерфейс.
>и смотришь есть ли запросы в инет на внешнем инрефейсе.

Спасибо. Утилита замечательно работает.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Перенаправление eth1 -> eth0"
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 12:15  (MSK)
echo 1 > /proc/sys/net/ipv4/ip_forward

После этой команды в ip_forward все равно ничего не записывается, т.е. в любой другой файл - пожалуйста, а в этот - нет. Что делать?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Перенаправление eth1 -> eth0"
Сообщение от Ham Искать по авторуВ закладки on 17-Фев-04, 10:55  (MSK)
dobavit
DEVICE=eth1
BOOTPROTO=none
BROADCAST=192.168.2.255
IPADDR=192.168.2.1
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
USERCTL=no
PEERDNS=no
TYPE=Ethernet
IP_FORWARD=yes
____________________________
DEVICE=eth0
BOOTPROTO=none
BROADCAST=a.b.c.223
IPADDR=a.b.c.222
NETMASK=255.255.255.240
NETWORK=a.b.c.208
ONBOOT=yes
USERCTL=no
PEERDNS=no
TYPE=Ethernet
IP_FORWARD=yes

potom /etc/ini.d/network restart

Ili proche
Ustanovit router Zebra iz standartnogo paketa, ona lejit na 2-m diske
i poton /etc/init.d/zebra start
vse budet routitsya na urovne kernel, vse chto ne nado zakroi iptables!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Перенаправление eth1 -> eth0"
Сообщение от MacroS emailИскать по авторуВ закладки on 17-Фев-04, 11:10  (MSK)
еще одна твоя ошибка
в -j SNAT --to-source
надо писать СВОЮ айпишку на eth0, в данном случае должно быть
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source a.b.c.208
  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Перенаправление eth1 -> eth0"
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 13:29  (MSK)
>надо писать СВОЮ айпишку на eth0, в данном случае должно быть
>iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source a.b.c.208

Это я опечатался, когда набирал в конференцию. В таблице все набрано правильно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Перенаправление eth1 -> eth0"
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 13:42  (MSK)
>IP_FORWARD=yes
>
>potom /etc/ini.d/network restart
>
>Ili proche
>Ustanovit router Zebra iz standartnogo paketa, ona lejit na 2-m diske
>i poton /etc/init.d/zebra start
>vse budet routitsya na urovne kernel, vse chto ne nado zakroi iptables!
>

Зебру поставил - не помогло ;(

Может быть, это все-таки связано с файлом /proc/sys/net/ipv4/ip_forward? Например, klez пишет, что в нем что-то должно быть записано, чтобы перенаправление пакетов было возможным. Так ли это? У меня этот файл защищен так, что из под root к нему нет доступа на запись, а его размер равен 0.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Перенаправление eth1 -> eth0"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 17-Фев-04, 13:44  (MSK)
Офигительный подход, маршрутизатор с двумя интерфейсами не работает, надо поставить зебру, дамается маршрутизатор настроить по проще зебры будет...
  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Перенаправление eth1 -> eth0 !!!Удалось!!!!, но..."
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 15:11  (MSK)
>potom /etc/ini.d/network restart
>Ustanovit router Zebra

Получилось! Оно роутится и без зебры, но почему-то для того, чтобы начался роутинг, нужно сначала запустить зебру, апотом выключить ее ;) Просто, глупость какая-то. Такое впечатление, что при запуске зебры включается что-то нужное, что без нее выключено, а после выключения зебры оно остается включенным. Иннтересно, что бы это могло быть?

Ну, не оставлять же в rc.local "...zebra start", "...zebra stop", если сама zebra - то и не нужна ;)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Перенаправление, где включить?"
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 15:31  (MSK)
Всем доброго времени!

Чувствую, что приближаюсь к решению пролемы после недельной битвы за запуск маршрутизации ;) Удалось настроиться, но...

Почему-то для того, чтобы начался роутинг (пересылка пакетов от одного и-фейса, например eth1 к другому (eth0)), приходится сначала запустить зебру, а потом выключить ее ;) Просто, глупость какая-то. Такое впечатление, что при запуске зебры включается что-то нужное, что без нее выключено, а после выключения зебры оно остается включенным. Иннтересно, что бы это могло быть?

Ну, не оставлять же в rc.local "...zebra start", "...zebra stop", если сама zebra - то и не нужна ;)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Перенаправление, где включить?"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 17-Фев-04, 15:45  (MSK)
Неправильный подход на мой взгляд
  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Перенаправление eth1 -> eth0"
Сообщение от flusher emailИскать по авторуВ закладки on 17-Фев-04, 15:46  (MSK)
>iptables –t nat –L –n
>...
>Chain POSTROUTING (policy ACCEPT)
>target   prot   opt   source  
>destination
>SNAT  all     --  192.168.2.0  0.0.0.0/0
> to:a.b.c.222
>
>Здесь a.b.c.222 - адрес, выданный провайдером.

Вроде правильно... Если это всё...

>route -n
>Destination  Gateway  Genmask    Flags  Metric  
>Ref   Use  Iface
>192.168.2.0  192.168.2.1  255.255.255.0   UG  0  0
>  0 eth1
>127.0.0.0  0.0.0.0  255.0.0.0   U  0  0
>  0 lo
>0.0.0.0  a.b.c.209  0.0.0.0   UG  0  0
>  0 eth0
>
А где
a.b.c.0 a.b.c.222 255.255.255.0 UG 0 0 0 eth0 (или подобное для сети провайдера)?

Запиши в rc.local
последней коммандой
eсho "1">/proc/sys/net/ipv4/ip_forward

  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "Перенаправление eth1 -> eth0"
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 15:53  (MSK)
>Запиши в rc.local
>последней коммандой
>eсho "1">/proc/sys/net/ipv4/ip_forward

А к чему это должно приводить? В ip_forward запишется "1"? Почему туда нельзя записать эту единичку вручную, каким-нть редактором?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Перенаправление eth1 -> eth0, РАБОТАЕТ, СПАСИБО"
Сообщение от Serezha Искать по авторуВ закладки on 17-Фев-04, 16:54  (MSK)
Все работает, СПАСИБО!

>А где
>a.b.c.0 a.b.c.222 255.255.255.0 UG 0 0 0 eth0 (или подобное для сети
>провайдера)?

Это вроде бы и не нужно.

>Запиши в rc.local
>последней коммандой
>eсho "1">/proc/sys/net/ipv4/ip_forward

А это я вписал. Раньше я то же писал без ковычек - почему-то не работало.
А все-таки, что такое ip_forward. Вроде бы это файл, но у него нулевой размер. Объясните ж, наконец, мне безграмотному, товарищи... А?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "Перенаправление eth1 -> eth0, РАБОТАЕТ, СПАСИБО"
Сообщение от flusher emailИскать по авторуВ закладки on 17-Фев-04, 17:10  (MSK)
>Все работает, СПАСИБО!
>
>>А где
>>a.b.c.0 a.b.c.222 255.255.255.0 UG 0 0 0 eth0 (или подобное для сети
>>провайдера)?
>Это вроде бы и не нужно.

А где у тебя маршрут, определяющий сеть прова?

>>Запиши в rc.local
>>последней коммандой
>>eсho "1">/proc/sys/net/ipv4/ip_forward
>
>А это я вписал. Раньше я то же писал без ковычек -
>почему-то не работало.
С кавычками попробуй...
>А все-таки, что такое ip_forward. Вроде бы это файл, но у него
>нулевой размер. Объясните ж, наконец, мне безграмотному, товарищи... А?


Отредактировать редактором его нельзя.. можно посмотреть. Это не файл в нормальном понимании... Это отображение состояния устройств и настроек с помощю procfs (man procfs)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "Перенаправление eth1 -> eth0, РАБОТАЕТ, СПАСИБО"
Сообщение от McDuck Искать по авторуВ закладки on 18-Фев-04, 14:26  (MSK)
Практически все, что лежит в /proc и глубже - это не файлы (на диске), а "трубы" (pipes) в/из ядро/системные области памяти/процессы/и т.п. прибамбасы. Поэтому и "длина файла" = 0.

В частности, параметр (труба) /proc/sys/net/ipv4/ip_forward отвечает за передачу пакетов между интерфейсами (если их > 1).

Посмотреть параметр можно с помощью команды cat:
cat /proc/sys/net/ipv4/ip_forward
Если увидишь "0" - передача запрещена, если "1" - разрешена.
Соответственно, разрешить передачу пакетов можно командой
echo 1 > /proc/sys/net/ipv4/ip_forward , а запретить -
echo 0 > /proc/sys/net/ipv4/ip_forward .

Скорее всего, zebra при старте устанавливает ip_forward в 1 (так, на всякий случай :), а при стопе - не снимает в 0.
Прописав вышеуказанную команду в rc.local, стартовать и стопать zebr'у уже не надо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру