Ubuntu не работает маршрутизация

Не работает маршрутизация (Ubuntu)

Добрый день! Хочу реализовать такую схему (Тык!). Прописал route в /etc/network/interfaces:

Пля, отключи брандмауэр на винде, сделай трассировку. Заработало, кури правила и включай обратно.
вин 7 и 8 служба топологии сети и ответчик сети, срань господня в смешанной архитектуре, выключай нафик.
Еще раз, для того кто в танке, если тачка в сети 192.168.3.0/24 то и трафик будет ходить только в этой сети 192.168.3.0/24 все остальное выплюнется на шлюз прописанный в настройке, он и должен решить, что делать с пакетами. Более того шлюз разобрался с маршрутизацией, но сетевой экран винды дропнет пришедший пакет из другой подсети, если ему явно не указано что делать с таким пакетом, настраивается поведение в настройках конечного клиента, то есть на виндовой тачке.

ок, пример из работающей сети
Лист доступа на роутере содержит правила для прохождения пакетов из одной сети в другую
нахожусь в сети 192.168.3.0/24
сервера в сети 192.168.1.0/24
самба расположена на 192.168.1.12
для доступа к вин ресурсам в сетевом экране моей тачки записи для портов
TCP139, TCP445, UDP137, UDP138 — 192.168.1.12/255.255.255.255,192.168.3.0/255.255.255.0
Про кривую реализацию сетей понаписано много макулатуры, никто не скрывает этого, но на ошибках учатся. Для полноценной работы с самба сервером необходимы такие правила. на самом сервере
up route add -net 192.168.30.1 netmask 255.255.255.255 eth0
up route add default gw 192.168.30.1
первая запись указывает наличие узла в сети, вторая добавляет этот узел шлюзом по умолчанию

иногда хреново быть анонимусом, поправить себя никак, конечно запись для шлюза по умолчанию должна содержать интерфейс
up route add default gw 192.168.30.1 eth0

Для раздачи WiFi такая сложная «система» не нужна.

Нужны простые мосты из Ethernet в WiFi 🙂 Дешево и сердито — http://www.ubnt.com/

Клиенты которые находятся на других подсетях видят не все сервера, а только

чего только не сделают, лишь бы vlan’ы не настраивать.

Ээээ. А когда сеть с vlan’ами у тебя все в одной подсети. Пиши дальше.

Источник

Проблема маршрутизации в Ubuntu

При попытке реализовать такую схему:
$cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.10.0.14
netmask 255.255.255.0
network 10.10.0.0
broadcast 10.10.0.255
installed
dns-nameservers 10.10.0.1

up route add -net 10.10.0.0 netmask 255.255.255.0 gw 10.10.0.254 dev eth0
up route add -net 10.0.0.0 netmask 255.255.0.0 gw 10.10.0.254 dev eth0
up route add -net 0.0.0.0 netmask 255.255.255.255 gw 10.0.100.35 dev eth0

Получаю следующую ошибку:
$sudo /etc/init.d/networking restart
* Reconfiguring network interfaces. SIOCADDRT: File exists
Failed to bring up eth0.

Я в принципе понимаю, что гейтвэй должен находиться в родной подсети, но других вариантов реализации не вижу. Может кто-нибудь поможет советом?

Re: Проблема маршрутизации в Ubuntu

Может нужно добавить маршрут на 10.0.100.35?

Re: Проблема маршрутизации в Ubuntu

up route add -net 10.0.0.0 netmask 255.255.0.0 gw 10.10.0.254 dev eth0

Читайте также:  Кто не работает тот не любит по итальянски

По идее должна показать где искать хост, но даже если оставить только

up route add -net 10.0.100.35 netmask 255.255.255.255 gw 10.10.0.254 dev eth0
up route add -net 0.0.0.0 netmask 255.255.255.255 gw 10.0.100.35 dev eth0

то выдает такую же фигню SIOCADDRT: No such process

Re: Проблема маршрутизации в Ubuntu

Если ты пропишешь поднятие этих маршрутов для другого интерфейса, то все заработает. Был такой баг и у меня когда-то. Заметил только одну закономерность, что если при установке системы не назначать интерфейсу статический адрес, а получать через DHCP, то после смены с DHCP на статику, при прописывании этому интерфейсу post и post-up команд, была такая же ошибка при поднятии интерфейса. Так как на машине было несколько интерфейсов, разбираться сильно не стал, и прописал маршруты при поднятии другого интерфейса — все заработало.

Пропиши эти маршруты при поднятии lo интерфейса.

Re: Проблема маршрутизации в Ubuntu

Спасибо, но все равно не помогло. Если указать гейт по умолчанию до инициализации eth0, то в таблице роутов вообще ниче не будет, если после, то ошибка No such process.

Re: Проблема маршрутизации в Ubuntu

>up route add -net 0.0.0.0 netmask 255.255.255.255 gw 10.0.100.35 dev eth0

А маска для дефолтного маршрута не должна быть 0.0.0.0?

Re: Проблема маршрутизации в Ubuntu

Я и так пробовал
up route add default gw 10.0.100.35 dev eth0

Re: Проблема маршрутизации в Ubuntu

Тогда, помимо маски на дефолтный маршрут, попробуй везде заменить up на post-up — может, поможет.

Re: Проблема маршрутизации в Ubuntu

И попробуй один раз перед тем, как делать invoke-rc.d networking start, выполнить ifconfig eth0 down — иногда, при изменении настройки интерфейсов, помогает. Потом, если нормально запустится, будет не нужно.

Re: Проблема маршрутизации в Ubuntu

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

Re: Проблема маршрутизации в Ubuntu

route add default gw 10.0.100.35
не помогает?

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

Re: Проблема маршрутизации в Ubuntu

Уже попробовал вручную 🙁

Результат тот же, что у автора треда.

Запостил на форумы убунты — может там чего подскажут:

Re: Проблема маршрутизации в Ubuntu

>up route add -net 10.10.0.0 netmask 255.255.255.0 gw 10.10.0.254 dev eth0
>up route add -net 10.0.0.0 netmask 255.255.0.0 gw 10.10.0.254 dev eth0

>up route add -net 0.0.0.0 netmask 255.255.255.255 gw 10.0.100.35 dev eth0

так писать нельзя. а что, на 10.10.0.254 настроить маршрутизацию нельзя?
короче, без карты твоей сети и решений по дизайну, которые заставили так сделать, ничем помочь не могу. есть серьезное подозрение, что ты лезешь за гландами через жопу.
кстати, default gateway это 0.0.0.0/0

Re: Проблема маршрутизации в Ubuntu

Немного почти оффтопа:

val-amart, вот пример из жизни (чего я собственно так и заинтересовался этим тредом):

Есть машина в подсети А. Для всех машин в этой подсети есть дефолтный шлюз а1. Для него в свою очередь дефолтный шлюз — б1 в подсети Б. Для б1 дефолт гейтвей где-то в сети провайдера 1.

Провайдер 1 нас по ряду причин не устраивает, и мы сделали тестовое подключение к провайдеру 2. Поскольку подключение тестовое, в подсеть Б добавили шлюз б2, который смотрит в сеть нового провайдера.

Теперь мы хотим для нескольких машин из подсети А устроить тестовую эксплуатацию нового линка. Менять настройки шлюза а1 (а тем более б1, через который в инет ходит десятка два подсетей) нам не с руки — это только тест, и если линк упадет (в жизни он действительно падал, и не раз 🙂 ), мы помешаем работе большого количества пользователей.

Читайте также:  Телевизор thomson как настроить канал

Стало быть, надо тестовым машинам в подсети А указать в настройках новый дефолт шлюз — б2 из подсети Б, и играться новым линком сколько влезет. Дык вот, для машин под оффтопичной системой этот фокус прошел на ура, а с Убунтой были проблемы. В конце концов, новый линк таки потестили как хотели — но это уже совсем другая история. А вопросы про Убунту остались.

Лазанье по форуму Убунты навело на мысль (хоть прямых указаний на это и не было), что отказ добавлять шлюз по умолчанию из другой подсети может быть связан с активностью замечательной тулзы NetworkManager.

Если ты планируешь использовать только статические настройки сети — попробуй удалить из системы NetworkManager, и посмотреть, как оно будет. Я до машин под 8.04, с которых он был снесен за ненадобностью, раньше вторника не доберусь — потому сам проверить сейчас не могу.

Re: Проблема маршрутизации в Ubuntu

тут у вас проблемы не с убунту, а с оффтопиком, по рфц так делать нельзя.
корректные решения:
настроить дефолтгейт через б2 на а1 только для тестовых машин из сети А, остальных дальше пускать через б1. таким образом, конфигурировать надо только а1, а не десятки машин
Перенести тестовые машины из сети А в Б. физически, вланами, впном, да как угодно.
перенести б2 в сеть А. например, просто дополнительным портом с адресом из сети А.

первый вариант самый правильный и без проблемный, вы сами себе геморрой придумали. кстати, а зачем еще один роутер, почему не реализовать роутинг для второго провайдера на б1?

Re: Проблема маршрутизации в Ubuntu

>Перенести тестовые машины из сети А в Б. физически, вланами, впном, да как угодно.

Так и сделали. Настроили соотв. порты на свичах в vlan для подсети Б. Но все равно — абыдна, да.

>первый вариант самый правильный и без проблемный, вы сами себе геморрой придумали. кстати, а зачем еще один роутер, почему не реализовать роутинг для второго провайдера на б1?

Пробовали и так и так. Поимели ряд небольших, но неприятных глюков — а1 и б1 достаточно нагруженные и не очень новые. В общем, не стоило оно колупаний — нам всего несколько машин погонять надо было, так что вариант с вланом все успешно решил.

P.S. А какой РФЦ (номер) запрещает настройку дефолтного шлюза в другой подсети, если путь к ней известен? Хочу почитать, дабы впредь так не морочиться.

Re: Проблема маршрутизации в Ubuntu

> Пробовали и так и так. Поимели ряд небольших, но неприятных глюков — а1 и б1 достаточно нагруженные и не очень новые. В общем, не стоило оно колупаний — нам всего несколько машин погонять надо было, так что вариант с вланом все успешно решил.
Так бы и написал — ниасилили настроить роутер.

> P.S. А какой РФЦ (номер) запрещает настройку дефолтного шлюза в другой подсети, если путь к ней известен? Хочу почитать, дабы впредь так не морочиться.

internet host requirements, в секции про роутинг (1122, если память мне не изменяет).
похоже, ты вообще слабо представляешь, как работает routing algorithm, и путаешь routing table с routing cache. поэтому читай также 823.
дело в том, что роутер (по рфц) проходит по таблице маршрутов только однажды. ну, вот нашел он маршрут в сеть Z через маршрутизатор b2 (он находится в другой подсети, за другим ротером). дальше он попытается разрешить этот ip в mac, и конечно будет fail и ICMP type 3 code 1. Кстати, еще один вариант решения проблемы — настроить прозрачный арп-прокси на роутере а1, т.е. заставить его отзываться на арп-запросы к ип б2 и форвардить такие пакеты ему. но это еще больший изврат, и на многих современных НОС (убунте тоже, хаха) работать не будет.

Читайте также:  Не работает напольная лампа

Re: Проблема маршрутизации в Ubuntu

>Так бы и написал — ниасилили настроить роутер.

Вай, дарагой. Даже отвечать на такое не хочется. Так и я могу сказать: «да ты рутеры только на картинках видел» — но это ж будет неправда. А в моем случае — как было, так и написал. Конкретно а1 и б1 — это L3 свичи cat4507, на каждом из которых проц загружен примерно на 60%. Если ты думаешь, что идеальная операционка IOS (точно версию, извини, не скажу — в отпуске сейчас) в таких условиях работает замечательно, и аж побежала тебе слать пакеты от хоста Зю через шлюз Кю, как только ты ей роут-мэп прописал и щелкнул пальцами — значит, у тебя впереди еще много увлекательных открытий 🙂 В нашем случае это выглядело так: с тестовых хостов около 90% пакетов шло через новый шлюз, а около 10% — через старый. И не в моих или моих коллег кривых руках тут дело, да.

>похоже, ты вообще слабо представляешь, как работает routing algorithm, и путаешь routing table с routing cache. поэтому читай также 823.

Дядьку телепат, опять я рад за тебя безумно 🙂 А за РФЦ 1122 — пасиб, почитаю.

>дело в том, что роутер (по рфц) проходит по таблице маршрутов только однажды. ну, вот нашел он маршрут в сеть Z через маршрутизатор b2 (он находится в другой подсети, за другим ротером). дальше он попытается разрешить этот ip в mac, и конечно будет fail и ICMP type 3 code 1.

Ясно. Пошел читать.

Re: Проблема маршрутизации в Ubuntu

Ишшо раз благодарю за РФЦ. Еще б разобраться, как Виндоуз работает в подобной ситуации — ведь работает же, блин — а никакого подобия арп-прокси у нас 100% нету. Выйду на работу — буду глядеть.

Re: Проблема маршрутизации в Ubuntu

очень просто — он совмещает route table и route cache в одной таблице, и ходит по ней трижды (!)

Re: Проблема маршрутизации в Ubuntu

ну что ж, рад признать, что и ты не дурак. просто ранее оснований полагать иначе небыло, ты уж извини, больно наивно и по-детски твои выглядели предыдущие посты.
а конкретно по твоей проблеме могу сказать только, что роут мап вроде как отлично работает на л3 свитчах от цисок, правда с головы ни версию иоса, ни железа не скажу, но точно работает, в нормальных условиях. а какие у вас там были сложности мне ведь неизвестно. не думаю, что 60% загрузки основного цп (ты ведь про него?) сильно мешали. бюджетки 93 года отлично работают и при 90%. иос далеко не идеален, но инженеры циско не зря получают зарплату.
еще раз сорри если чем обидел.

Re: Проблема маршрутизации в Ubuntu

> up route add -net 10.10.0.0 netmask 255.255.255.0 gw 10.10.0.254 dev eth0
> up route add -net 10.0.0.0 netmask 255.255.0.0 gw 10.10.0.254 dev eth0

Подсети перекрываются по IPv4-адресам?

> up route add -net 0.0.0.0 netmask 255.255.255.255 gw 10.0.100.35 dev eth0

Re: Проблема маршрутизации в Ubuntu

>> up route add -net 10.10.0.0 netmask 255.255.255.0 gw 10.10.0.254 dev eth0
>> up route add -net 10.0.0.0 netmask 255.255.0.0 gw 10.10.0.254 dev eth0

> Подсети перекрываются по IPv4-адресам?

сам-то понял, что сказал?

Re: Проблема маршрутизации в Ubuntu

> еще раз сорри если чем обидел.

Все нормально. Я по-началу здесь действительно здорово протупил.

Источник

Оцените статью