Ну не работает у меня роутинг!!!
White 27 сентября, 2005 - 02:47
Не работает у меня роутинг и всё тут. Подскажите пожалуйста что делать. Есть три сети 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: Ну не работает у меня роутинг!!!
Для точности, пожалуйста, выложите сюда результаты команд:
Должно быть, примерно, так
У меня тоже три сетевухи, но eth3 нету - это уже четвертая и команда
должна показать ваш рутинг, как он вами настроен, а команда
покажет, как он действительно выглядит.
Гм
А разве не нужно создавать FORWARD-политики для iptables? Типа
_________________
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
Нет я имел в виду именно config_ethX, когда то вспоминается был iface_ethX,но я про него уже забыл, по крайней мере, в нынешнем /etc/conf.d/net.example (от 7 сентября) такого нет. Вы, видимо, давно не апгрейдились, или слишком тщательно сохраняете старые конфигурационные файлы. Это может быть причиной ваших проблем, если вы не сохраняли старые скрипты в /etc/init.d
Здесь тоже, что-то из устаревшего синтаксиса, да и смысла не вижу рутить с одной своей сетевухи на другую свою же. Для этого есть форвардинг, смотрите /etc/sysctl.conf net.ipv4.ip_forward = 1.
Здесь тоже много странного, но это, видимо, следствие выше упомянутого странного рутинга. Посмотрите внимательно /etc/conf.d/net.example и сделайте так, как там написано.
Да все должно работать и так, а 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: закоментировал
Ох не советую связываться с 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
Теперь все прекрасно, за исключением
Как это у вас получилось (что-то от windows). У меня это выглядит так
Это же локальный интерфейс.
Re: # route -nKernel IP routing
У меня работает и я даже не подозревал, что здесь могут возникнуть такие проблемы, но вы правильно сориентировались, именно это я хотел вам посоветовать, разобраться с Networking options.
Вот на всякий случай моя конфигурация
Но у меня кернел gentoo-sources-2.6.13-r2, могут быть отличия, и, возможно не все вам надо, из того, что я вкрутил.
поддержка iptables
поддержка iptables включена, просто не установлен пакет
emerge iptables
:) сам, разбираясь наткнулся на эти грабли..
впрочем, для настройки роутинга этот пакет не обязателен