LINUX.ORG.RU
ФорумAdmin

простейшая маршрутизация


0

1

Делаю простейшую маршрутизацию... и ничего не получаеца! целый день!! (( все делаю по мануалу, прочитано много факов. результат - ноль. хелп

есть сервер, в нем 2 сетевых

eth0 192.168.1.77 (смотрит в локалку, в коммутаторе)

eth1 192.168.50.10 (смотрит сразу в adsl-роутер)

они смотрят соответственно в сети 192.168.1.0/24 и 192.168.50.0/24.

в одной сети шлюз 192.168.50.1 - internet, роутер

во второй сети шлюз 192.168.1.1 рулит vpn-ом, роутер

использую для настройки iproute2

добавляю свою таблицу маршрутизации: вот она

ip route show table torg

192.168.50.0/24 dev eth1 scope link

192.168.1.0/24 dev eth0 scope link

192.168.0.0/16 via 192.168.1.1 dev eth0 (могут быть разные подсети)

127.0.0.0/8 dev lo scope link

default via 192.168.50.1 dev eth1 (<<--- поидеи весь остальной траф сюда)

добавляю правило

ip rule add from all table torg

ip rule list

0:   from all lookup local

32765:   from all lookup torg <<<---

32766:   from all lookup main

32767:   from all lookup default

есть...

ну и для справки таблица main

ip route show table main

192.168.50.0/24 dev eth1 proto kernel scope link src 192.168.50.10 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.77

пробовал ее и очищать вобще, и только свою формировать.. тоже ноль

******************************

ТАК ВОТ ВОПРОС:

почему если я делаю пинг с рабочей машины которая находится в подсети 192.168.1.0/24 (например 192.168.1.122) ping 192.168.2.1, ping 192.168.5.1 и т.д. то есть локальные адреса,даже за шлюзом 192.168.1.1 все ИСПРАВНО уходит на шлюз 192.168.1.77 -> далее -> 192.168.1.1(согласно правилу в таблице) и так далее до адресата(в несколько хопов). это видно если делать traceroute - видно что первый хоп сервер, потом шлюз и далее... пинги идут отлично.

а вот если я делаю пинг адреса из инета и должно работать правило default via 192.168.50.1 dev eth1 - тишина!!!!!!!!! ((((((

например делаю ping www.ya.ru(или по адресу) 100% packets loss (((

даже делаю ping 192.168.50.1 - нет ответа. то есть даже сам роутер не пингуется из подсети 192.168.1.0

почему я не вижу ничего за вторым интерфейсом? и самого его не вижу

/proc/sys/net/ipv4/ip_forward - 1 (хотя пробовал и так и так)

Система Debian, послдений, ставленный по сетке пару дней назад.

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

люди! куда хоть копать? как быть?? реально чердак едет. помогите пжлст, перепробовал реально все! а маны в нете как всегда написаны только на 30% и самого главного нет - типа «итак понятно»

заранее спб



Последнее исправление: redy999 (всего исправлений: 1)

Дорогой а постановку задачи написать можешь ?

ifconfig ; route -n ; iptables -L -n

в студию.

cat /proc/sys/net/ipv4/ip_forward

MikeDM ★★★★★
()
Ответ на: комментарий от MikeDM

спасибо за отклик!

да на самом деле исчерпывающе итак задача описана..

есть сервер, за ним 2 сети, 1 - vpn, 2 - интернет интерфейсы имеют адреса eth0 - 192.168.1.77 eth1 - 192.168.50.1

т.е. есть 2 шлюза на которые надо роутить траф и есть локалка. шлюзы из себя представляют 2 модема, роутера, adsl

все dest адреса начинающиеся на 192.168.*.* надо отдавать роутеру 192.168.1.1, а все остальное(внешние адреса) роутить на шлюз по умолчанию т.е. на adsl-роутер - 192.168.50.1

машина на работе, но выводы команд скажу по памяти:

1) ifconfig eth0 - 192.168.1.77 netmask 255.255.255.0 brct 192.168.1.255 eth1 - 192.168.50.1 netmask 255.255.255.0 192.168.50.255 lo - 127.0.0.1

2) route -n

он ничего не скажет в данном случае. Он выводит только часть маршрутов, если вы понимаете о чем я. Главное что выводит ip route list table ***** то что я описывал выше, и правило которое юзает эту таблицу... собсно вот:

ip route show table torg

192.168.50.0/24 dev eth1 scope link

192.168.1.0/24 dev eth0 scope link

192.168.0.0/16 via 192.168.1.1 dev eth0 (могут быть разные подсети)

127.0.0.0/8 dev lo scope link

default via 192.168.50.1 dev eth1 (<<--- поидеи весь остальной траф сюда)

НО, к слову я пробовал делать и просто типа: route add default gw 192.168.50.1 - ноль эмоций, но шлюз добавлялся.

3) iptables -L -n там все пусто во всех таблицах прочерки --- --- ---

и... все

cat /proc/sys/net/ipv4/ip_forward

я так же выше писал = 1

(хотя пробовал и так и так) Но если верить манам, то получается форвардинг надо наоборот отключить, чтобы не было простой тупой пересылки с интерфеса на интерфейс, а рулили правила

один фиг никак не получается. вернее если отключить форвардинг то вообще даже в 192.168.1.1 пакеты не ходят

ДА! повторюсь - на самом сервере все пркрасно пингуется и все видно все доступно

такое ощущение что просто где-то что-то отключено.... но вот где.. что....

redy999
() автор топика

Запустите на сервере на eth1 дампер пакетов, допустим

tcpdump -i eth1 -n -nn icmp

и запускайте «ping ya.ru» на машине из сети 192.168.1.x .

Если пакеты уходят, причём от адреса 192.168.1.122, то, скорее всего, либо ваш роутер не знает маршрута к этой сети, либо не NATит эти пакеты.

Если пакеты не уходят, возможно они режутся в iptables.

mky ★★★★★
()

Попробуй «sysctl net.ipv4.conf.all.rp_filter=0».
Также интересно было бы посмотреть на вывод «ping ya.ru -c 2 -I ethX», где X=0,1

nnz ★★★★
()
Ответ на: комментарий от redy999

кароче, tcpdump-ом было установленно, что роутер 192 168 50 1 запрашивает arp-who хоста из сети 192 168 1 0

полечилось включением proxy_arp-a в интерфейсах. все заработало.

спасибо за подсказку одному грамотному специалисту :)

redy999
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.