Ну не работает у меня роутинг!!!

Не работает у меня роутинг и всё тут. Подскажите пожалуйста что делать. Есть три сети 192.168.1.0, 192.168.2.0, 192.168.3.0
что я делаю:
1. nano -w /etc/sysctl.conf - net.ipv4.ip_forward = 1
2. nano -w /etc/conf.d/net -
routes_eth3="-net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1"
routes_eth2="-net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1"
В ядре IP tables support включен.
На клиентских машинах шлюз прописан для каждой сети свой - 192.168.2.1 для сети ..2.0 и для 192.168.3.1 ..3.0 соответсвенно.
С роутера всё пингуется, а вот из ..2.0-й нельзя пропинговать ..3.0-ю подсеть и наоборот. Ядро 2.4.26-r14. Как ещё можно заставить роутинг работать?
Помогите пожалуйста.

Мне кажется,

Мне кажется, что шлюз устанавливается для конкретной машины один. А утебя их 2. Сделай route -n, увидишь таблицу роутинга. Для сервера шлюз по умолчанию устанавливается, если тебе нужен выход в инет дать. А за хождение между подсетями отвечает net.ipv4.ip_forward = 1. Если запущен iptables, то проверь правила, чтобы пересылка между интерфейсами была разрешена.

Re: Мне кажется,

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

# iptables -L
bash: iptables: command not found

есть ещё какие-нибудь мысли?

Re: Ну не работает у меня роутинг!!!

White написал(а):
Не работает у меня роутинг и всё тут. Подскажите пожалуйста что делать. Есть три сети 192.168.1.0, 192.168.2.0, 192.168.3.0
что я делаю:
1. nano -w /etc/sysctl.conf - net.ipv4.ip_forward = 1
2. nano -w /etc/conf.d/net -
routes_eth3="-net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1"
routes_eth2="-net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1"
В ядре IP tables support включен.
На клиентских машинах шлюз прописан для каждой сети свой - 192.168.2.1 для сети ..2.0 и для 192.168.3.1 ..3.0 соответсвенно.
С роутера всё пингуется, а вот из ..2.0-й нельзя пропинговать ..3.0-ю подсеть и наоборот. Ядро 2.4.26-r14. Как ещё можно заставить роутинг работать?
Помогите пожалуйста.

Для точности, пожалуйста, выложите сюда результаты команд:

cat /etc/conf.d/net | grep config_eth

Должно быть, примерно, так

config_eth0=( "192.168.1.1 netmask 255.255.255.0" )
config_eth1=( "192.168.2.1/24 brd 192.168.2.255"
config_eth2=( "192.168.3.1/24 brd 192.168.3.255" )

У меня тоже три сетевухи, но eth3 нету - это уже четвертая и команда

cat /etc/conf.d/net | grep routes_eth

должна показать ваш рутинг, как он вами настроен, а команда

route

покажет, как он действительно выглядит.

Гм

А разве не нужно создавать FORWARD-политики для iptables? Типа

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

_________________
With Love from Siberia!

# iptables -A FORWARD -i

# iptables -A FORWARD -i eth2 -o eth3 -j ACCEPT
modprobe: Can't locate module ip_tables
iptables v1.2.11: can't initialize iptables table `filter': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Я так понял надо в ядре что-то включить?

cat /etc/conf.d/net | grep

cat /etc/conf.d/net | grep config_eth - эта команда ничего не выводит, вы наверное имели ввиду вот это:
iface_eth3="192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0"
iface_eth2="192.168.3.1 broadcast 192.168.3.255 netmask 255.255.255.0"
iface_eth1="192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0"
iface_eth0="80.252.х.х broadcast 80.252.х.х netmask 255.255.255.248"

# cat /etc/conf.d/net | grep routes_eth
routes_eth3="-net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1"
routes_eth2="-net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1"

Ну и ещё одна сетевуха внешняя, как вы наверное уже догадались, поэтому я её про неё не писал.

# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
80.252.х.х 0.0.0.0 255.255.255.248 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 192.168.2.1 255.255.255.0 UG 0 0 0 eth3
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
192.168.3.0 192.168.3.1 255.255.255.0 UG 0 0 0 eth2
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo
0.0.0.0 80.252.х.х 0.0.0.0 UG 0 0 0 eth0

iptables не ставил, по идее и так должно работать.
Щас поставлю.
Подскажите, что включить а что выключить в Networking options, я думаю что в этом то и есть основная причина.

Re: cat /etc/conf.d/net | grep

White написал(а):
cat /etc/conf.d/net | grep config_eth - эта команда ничего не выводит, вы наверное имели ввиду вот это:
iface_eth3="192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0"
iface_eth2="192.168.3.1 broadcast 192.168.3.255 netmask 255.255.255.0"
iface_eth1="192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0"
iface_eth0="80.252.х.х broadcast 80.252.х.х netmask 255.255.255.248"

Нет я имел в виду именно config_ethX, когда то вспоминается был iface_ethX,но я про него уже забыл, по крайней мере, в нынешнем /etc/conf.d/net.example (от 7 сентября) такого нет. Вы, видимо, давно не апгрейдились, или слишком тщательно сохраняете старые конфигурационные файлы. Это может быть причиной ваших проблем, если вы не сохраняли старые скрипты в /etc/init.d

White написал(а):
# cat /etc/conf.d/net | grep routes_eth
routes_eth3="-net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1"
routes_eth2="-net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1"
Ну и ещё одна сетевуха внешняя, как вы наверное уже догадались, поэтому я её про неё не писал.

Здесь тоже, что-то из устаревшего синтаксиса, да и смысла не вижу рутить с одной своей сетевухи на другую свою же. Для этого есть форвардинг, смотрите /etc/sysctl.conf net.ipv4.ip_forward = 1.

White написал(а):
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
80.252.х.х 0.0.0.0 255.255.255.248 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 192.168.2.1 255.255.255.0 UG 0 0 0 eth3
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
192.168.3.0 192.168.3.1 255.255.255.0 UG 0 0 0 eth2
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo
0.0.0.0 80.252.х.х 0.0.0.0 UG 0 0 0 eth0

Здесь тоже много странного, но это, видимо, следствие выше упомянутого странного рутинга. Посмотрите внимательно /etc/conf.d/net.example и сделайте так, как там написано.

White написал(а):
iptables не ставил, по идее и так должно работать.
Щас поставлю.
Подскажите, что включить а что выключить в Networking options, я думаю что в этом то и есть основная причина.

Да все должно работать и так, а iptables - это совсем другая тема.

Попробуй

Попробуй убрать вот это:
routes_eth3="-net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1"
routes_eth2="-net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1"
Чтобы все это работало, не обязательно iptables ставить, но так как у тебя инет, то обязательно. Кстати, судя по выводу команды iptables, у тебя в ядре нет поддержки iptables.

>Чтобы все это

>Чтобы все это работало, не обязательно iptables ставить, но так как у тебя инет, то обязательно.

Почему?

закоментировал

закоментировал я эти строки в /etv/conf.d/net - всё равно не работает.
наверное всётаки придётся iptables настраивать. Но по идее же, если приходит пакет адресованный адресу 192.168.2.х из сети 192.168.3.0, то согласно таблице роутинга, он туда и попадёт, так как об этом есть запись. А если скажем приходит пакет адресованный 192.168.15.х, то он переадресуется на маршрут по умолчанию, так как об этой сети нет записи в таблице роутинга. По-моему так.

Re: закоментировал

White написал(а):
закоментировал я эти строки в /etv/conf.d/net - всё равно не работает.
наверное всётаки придётся iptables настраивать. Но по идее же, если приходит пакет адресованный адресу 192.168.2.х из сети 192.168.3.0, то согласно таблице роутинга, он туда и попадёт, так как об этом есть запись. А если скажем приходит пакет адресованный 192.168.15.х, то он переадресуется на маршрут по умолчанию, так как об этой сети нет записи в таблице роутинга. По-моему так.

Ох не советую связываться с iptables раньше, чем разберешся с рутингом.
Лучше показать, как изменился вывод команды route -n, после внесенных изменений и что показывает команда cat /proc/sys/net/ipv4/ip_forward, присутствует ли там реально 1?

# route -nKernel IP routing

# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
80.xxx.xxx.xxx 0.0.0.0 255.255.255.248 U 0 0 0 eth0
192.168.1.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 eth3
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo
0.0.0.0 80.xxx.xxx.xxx 0.0.0.0 UG 0 0 0 eth0

# cat /proc/sys/net/ipv4/ip_forward
1

Вообще, засада какая-то, я уже скоро начну книги писать по настройке роутинга. У кого реально работает роутинг под Gentoo-й, скиньте конфиг Networking options.

Re: # route -nKernel IP routing

White написал(а):
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
80.xxx.xxx.xxx 0.0.0.0 255.255.255.248 U 0 0 0 eth0
192.168.1.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 eth3
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo
0.0.0.0 80.xxx.xxx.xxx 0.0.0.0 UG 0 0 0 eth0

# cat /proc/sys/net/ipv4/ip_forward
1

Вообще, засада какая-то, я уже скоро начну книги писать по настройке роутинга. У кого реально работает роутинг под Gentoo-й, скиньте конфиг Networking options.

Теперь все прекрасно, за исключением

127.0.0.0       127.0.0.1       255.0.0.0       UG    0      0        0 lo

Как это у вас получилось (что-то от windows). У меня это выглядит так

127.0.0.0       0.0.0.0       255.0.0.0       UG    0      0        0 lo

Это же локальный интерфейс.

Re: # route -nKernel IP routing

White написал(а):
#У кого реально работает роутинг под Gentoo-й, скиньте конфиг Networking options.

У меня работает и я даже не подозревал, что здесь могут возникнуть такие проблемы, но вы правильно сориентировались, именно это я хотел вам посоветовать, разобраться с Networking options.
Вот на всякий случай моя конфигурация

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_ROUTE_FWMARK is not set
CONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
# CONFIG_IP_ROUTE_VERBOSE is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
# CONFIG_NET_IPGRE_BROADCAST is not set
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
# CONFIG_INET_IPCOMP is not set
CONFIG_INET_TUNNEL=m
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y

Но у меня кернел gentoo-sources-2.6.13-r2, могут быть отличия, и, возможно не все вам надо, из того, что я вкрутил.

поддержка iptables

поддержка iptables включена, просто не установлен пакет
emerge iptables
:) сам, разбираясь наткнулся на эти грабли..
впрочем, для настройки роутинга этот пакет не обязателен

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".