Не работает ip_forward
Модератор: Модераторы разделов
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Не работает ip_forward
Всем привет!
Может где и описывалась эта проблема, но сколько искал и читал, не нашел ничего похожего.
Дело вот в чем. Есть две сети, 192.168.2.0 и 192.168.3.0. Сети разделены не физически, а логически. Выход в инет идет через сеть 192.168.2.0. Много всего прочитал про настройку шлюза между сетями, но везде есть одна команда для включения форвардинга.
echo 1 > /proc/sys/net/ipv4/ip_forward
когда команда выполняется, то в файл соответсвенно записывается 1, но при перезапуске сетевых интерфейсов выдается сообщение
"Запрещается маршрутизация пакетов IPv4: net.ipv4.ip_forward = 0"
И, как результат, вместо 1 соответсвенно стоит 0.
Подскажите, в чем проблема. И где копать?
Дистрибутив Fedora Core 6, ядро родное, не обновленное 2.6.18-1.2798
Может где и описывалась эта проблема, но сколько искал и читал, не нашел ничего похожего.
Дело вот в чем. Есть две сети, 192.168.2.0 и 192.168.3.0. Сети разделены не физически, а логически. Выход в инет идет через сеть 192.168.2.0. Много всего прочитал про настройку шлюза между сетями, но везде есть одна команда для включения форвардинга.
echo 1 > /proc/sys/net/ipv4/ip_forward
когда команда выполняется, то в файл соответсвенно записывается 1, но при перезапуске сетевых интерфейсов выдается сообщение
"Запрещается маршрутизация пакетов IPv4: net.ipv4.ip_forward = 0"
И, как результат, вместо 1 соответсвенно стоит 0.
Подскажите, в чем проблема. И где копать?
Дистрибутив Fedora Core 6, ядро родное, не обновленное 2.6.18-1.2798
-
Liksys
- Сообщения: 2910
Re: Не работает ip_forward
В сторону файла /etc/sysctl.conf
Настройки будут сохраняться.
Настройки будут сохраняться.
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
В этом файле все в порядке, стоит net.ipv4.ip_forward = 1.
Может надо покопать iptables?
И еще. При добавлении маршрута
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
выдается сообщение
SIOCADDRT: Сеть не доступна.
Чтобы это значило?
Может надо покопать iptables?
И еще. При добавлении маршрута
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
выдается сообщение
SIOCADDRT: Сеть не доступна.
Чтобы это значило?
-
Liksys
- Сообщения: 2910
Re: Не работает ip_forward
А как ты сетку поднимал? Что есть в dmesg? Может попробовать из консоли поднять ифконфигами/роутами?
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Сеть работает нормально. Машинка с Linux инет видит, машина в сети 192.168.3.0 пингуется.
Настройки для eth0
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.2.255
IPADDR=192.168.2.200
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
GATEWAY=192.168.2.1
TYPE=Ethernet
для eth1
DEVICE=eth1
BOOTPROTO=none
BROADCAST=192.168.3.255
IPADDR=192.168.3.1
NETMASK=255.255.255.0
NETWORK=192.168.3.0
ONBOOT=yes
TYPE=Ethernet
Настройки для eth0
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.2.255
IPADDR=192.168.2.200
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
GATEWAY=192.168.2.1
TYPE=Ethernet
для eth1
DEVICE=eth1
BOOTPROTO=none
BROADCAST=192.168.3.255
IPADDR=192.168.3.1
NETMASK=255.255.255.0
NETWORK=192.168.3.0
ONBOOT=yes
TYPE=Ethernet
-
Liksys
- Сообщения: 2910
Re: Не работает ip_forward
Маршрутизация запрещается при перезапуске? А если после запуска включить ее? Работает?
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Перезапускал сеть командой
/etc/init.d/network restart
во время выполнения этой команды и выдается сообщение о запрете маршрутизации.
Что самое интересное, тока щас обнаружил что в файле ip_forward стоит значение 1.
Но при добавлении маршрута
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
опять-же выдается что сеть не найдена.
Если добавлять маршрут без параметра dev eth1, то все срабатывает, но вешается все на eth0, а мне надо, чтоб перекидывало с сети 192.168.3.0 на сеть 192.168.2.0.
Чего где не так делал?
/etc/init.d/network restart
во время выполнения этой команды и выдается сообщение о запрете маршрутизации.
Что самое интересное, тока щас обнаружил что в файле ip_forward стоит значение 1.
Но при добавлении маршрута
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
опять-же выдается что сеть не найдена.
Если добавлять маршрут без параметра dev eth1, то все срабатывает, но вешается все на eth0, а мне надо, чтоб перекидывало с сети 192.168.3.0 на сеть 192.168.2.0.
Чего где не так делал?
-
Lipen
- Сообщения: 37
Re: Не работает ip_forward
А что значит сети раэделены логически? И я всетаки не понял, что значит перекидывало с сети 192.168.3.0 на 192.168.2.0? Всё вешается на eth0, так правильно вешается, ведь там вторая подсеть.
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Lipen, просто есть одна физическая сеть, а в ней созданы две подсети 192.168.2 и 192.168.3
И надо сделать чтобы eth1 знал, что пакеты предназначеные для сети 192.168.2 и инета посылать на eth0.
И надо сделать чтобы eth1 знал, что пакеты предназначеные для сети 192.168.2 и инета посылать на eth0.
-
Liksys
- Сообщения: 2910
Re: Не работает ip_forward
Лучше тогда сделай так. Пусть один из интерфейсов смотрит только в сеть, а второй только в инет. В сети у всех компов поставь маску 255.255.0.0, тогда они будут нормально видеть друг друга. Серверу соотсно так же (с той стороны, которой он в сеть). У компов в сетку проложить маршрут по дефолту через сервер (ему сделай нейтральный IP, 192.168.100.100), на сервере разреши пересылку между интерфейсами, и сделай маскировку IP через IPTables.
Все будет работать
Все будет работать
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Liksys, спасибо за совет. Щас будем попробывать 
вот что имею на настоящий момент
откуда появилась подсеть 169.254.0.0 ума не приложу...
вот что имею на настоящий момент
Код: Выделить всё
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0откуда появилась подсеть 169.254.0.0 ума не приложу...
-
Liksys
- Сообщения: 2910
Re: Не работает ip_forward
Ага, у меня тоже она есть. Я забил. Это какая-то Федоркина фича 
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Теперь уже при загрузке машины выдает что маршрутизация запрещена 
Че делать?
Могет чего SELinux перекрывает?
Че делать?
Могет чего SELinux перекрывает?
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Liksys, завтре уже попробую, седне рабочий день к концу подошел 
Че будет получаться, отпишу.
Че будет получаться, отпишу.
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
SELinux отключил.
Но проблема не пропала
вот вывод /etc/init.d/network restart
Че делать?
Но проблема не пропала
вот вывод /etc/init.d/network restart
Код: Выделить всё
Деактивируется интерфейс eth0: [OK]
Деактивируется интерфейс eth1: [OK]
Деактивируется интерфейс-петля: [OK]
Запрещается маршрутизация пакетов IPv4: net.ipv4.ip_forward = 0 [OK]
Активируется интерфейс loopback: [OK]
Активируется интерфейс eth0: [OK]
Активируется интерфейс eth1: [OK]Че делать?
-
Lipen
- Сообщения: 37
Re: Не работает ip_forward
Это всё нормально, маршрутизация при выключении запрещается, потом разрешается. Если конечно в sysctl.conf указано net.ipv4.ip_forward = 1
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
А почему тогда машины из сети 192.168.3 не видят машин 192.168.2 и наоборот?
Че не так? Где копать?
Че не так? Где копать?
-
Lipen
- Сообщения: 37
Re: Не работает ip_forward
Andrey-MSK писал(а): ↑06.06.2007 11:49А почему тогда машины из сети 192.168.3 не видят машин 192.168.2 и наоборот?
Че не так? Где копать?
Нужно создать виртуальный сетевой интерфейс
Код: Выделить всё
ifconfig eth0:1 192.168.3.1 up-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
В смысле?
У меня на eth1 висит адрес 192.168.3.1
У меня на eth1 висит адрес 192.168.3.1
-
Lipen
- Сообщения: 37
Re: Не работает ip_forward
Тогда я в твоей сети вообще ничего не понимаю. Значит сети разделены физически. А интернет откуда берется?
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Lipen, ситуевина у меня такая. Постараюсь поподробнее.
Есть офис, два этажа. На втором стоит ADSL-модем, к нему подключен роутер, сам роутер подключен к свитчу и раздается на остальные машины. Основная сеть по роутеру 192.168.2. IP раздаются по DHCP роутера. Роутер аппаратный. Сеть одноранговая. Влезть в роутер не могу, так как поставщики запаролили его зачемто а пароль не дают. Вызывать их каждый раз, это платить деньги. Задача такая. Настроить роутер на машине с Linux, и подключить ее к ADSL-модему. Нужно это для подсчета траффа по сети, так как у нас инет лимитированный, и под конец месяца всегда начинает падать скорость. Нужно просто знать, кто где и по чем. В данный момент физически не могу перекинуть модем на машину с Linux пока не настрою все. Вот и решил разделить сети логически, т.е. одна физическая сеть, имеются ввиду физические соединения хабов, и щас для настройки сервера поставил на машину с Linux две сетевухи. И назначил им сети 192.168.2 и 192.168.3. Машины по своим сетям пингуются, но за пределы 2 и 3 не выходят. Вот такая проблема.
Есть офис, два этажа. На втором стоит ADSL-модем, к нему подключен роутер, сам роутер подключен к свитчу и раздается на остальные машины. Основная сеть по роутеру 192.168.2. IP раздаются по DHCP роутера. Роутер аппаратный. Сеть одноранговая. Влезть в роутер не могу, так как поставщики запаролили его зачемто а пароль не дают. Вызывать их каждый раз, это платить деньги. Задача такая. Настроить роутер на машине с Linux, и подключить ее к ADSL-модему. Нужно это для подсчета траффа по сети, так как у нас инет лимитированный, и под конец месяца всегда начинает падать скорость. Нужно просто знать, кто где и по чем. В данный момент физически не могу перекинуть модем на машину с Linux пока не настрою все. Вот и решил разделить сети логически, т.е. одна физическая сеть, имеются ввиду физические соединения хабов, и щас для настройки сервера поставил на машину с Linux две сетевухи. И назначил им сети 192.168.2 и 192.168.3. Машины по своим сетям пингуются, но за пределы 2 и 3 не выходят. Вот такая проблема.
-
Lipen
- Сообщения: 37
Re: Не работает ip_forward
Ясно, в машине (линуксовом роутере) поставь дефолтным шлюзом адрес аппаратного роутера. Тогда третья подсеть (если шлюз у них 192.168.3.1) сможет ходить в и-нет. А во второй подсети (как я понимаю стоят виндовые машинки) нужно на рабочих станциях ввести постоянный маршрут чтобы в подсеть 192.168.3.0/24 они ходили через линуксовую машину. И всё. Например:
Код: Выделить всё
route add -p 192.168.3.0 mask 255.255.255.0 192.168.2.1 metric 20-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Параметр -р не принимает.
Сделал вот так:
Итог, выдается ошибка
192.168.2.1 - IP аппаратного роутера
Сделал вот так:
Код: Выделить всё
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1 metric 1 dev eth1Итог, выдается ошибка
Код: Выделить всё
SIOCADDRT: Сеть не доступна.192.168.2.1 - IP аппаратного роутера
-
Lipen
- Сообщения: 37
Re: Не работает ip_forward
Andrey-MSK писал(а): ↑06.06.2007 13:37Параметр -р не принимает.
Сделал вот так:
Код: Выделить всё
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1 metric 1 dev eth1
Итог, выдается ошибка
Код: Выделить всё
SIOCADDRT: Сеть не доступна.
192.168.2.1 - IP аппаратного роутера
Это нужно ввести на виндовых машинах во второй подсети в консоли, после этого вторая подсеть должна видеть третью
Код: Выделить всё
route add -p 192.168.3.0 mask 255.255.255.0 192.168.2.200 metric 20-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Значит вот такие действия.
На машине с Windows в свойствах TCP/IP ставлю статический IP, к примеру 192.168.3.190, прописываю шлюз 192.168.3.1 (машинка с Linux), прописываю IP DNS провайдера, они же прописаны и на машинке с Linux. (Картинка прилагается) Итог, машины друг друга пингуют, пакеты не теряются, а вот инета нет. Значит на машине с Linux пакеты не пересылаются с eth1 на eht0.
netstat на машине с Linux показывает следующее:
То есть и для сети 2 и для сети 3 стоит один и тот-же шлюз. Но пакеты до него не доходят
На машине с Windows в свойствах TCP/IP ставлю статический IP, к примеру 192.168.3.190, прописываю шлюз 192.168.3.1 (машинка с Linux), прописываю IP DNS провайдера, они же прописаны и на машинке с Linux. (Картинка прилагается) Итог, машины друг друга пингуют, пакеты не теряются, а вот инета нет. Значит на машине с Linux пакеты не пересылаются с eth1 на eht0.
netstat на машине с Linux показывает следующее:
Код: Выделить всё
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0То есть и для сети 2 и для сети 3 стоит один и тот-же шлюз. Но пакеты до него не доходят
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Andrey-MSK
- Сообщения: 221
- ОС: MBP13" OS X 10.6.3
Re: Не работает ip_forward
Вопрос решился.
Всем огромное спасибо!!!
Всем огромное спасибо!!!
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Не работает ip_forward
откуда появилась подсеть 169.254.0.0 ума не приложу...
Это не "федоркина фича", а автоадрес DHCP, APIPA, аффтоматика долбаная... у Гугля спрашиваем, от знает...
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome