LINUX.ORG.RU
решено ФорумAdmin

подскажите как правильно прописать route

 , , ,


0

1

решил откатиться с debian testing на stable и теперь в замешательстве те конфиги которые вчера прекрасно работали сегодня ни в какую.

eth0 смотрит во внутрь, eth1 наружу, получает настройки по dhcp провайдера, они првязаны к мак и всегда одинаковы.

делаю

echo "1" > /proc/sys/net/ipv4/ip_forward
/etc/networking/interfaces
 
auto lo
iface lo inet loopback

auto eth1
iface eth1 inet dhcp

auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0

pre-up iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
up route add -net 192.168.0.1 netmask 255.255.255.0 dev eth1
up route add -net 0.0.0.0 netmask 255.255.255.255 dev eth0 
isc-dhcp-server настроен слушать eth0, корректно раздаёт адреса из 192.168.0.0/24 подсети и шлюз 192.168.0.1

но при рестарте сети ругается route: netmask doesn't match route address. Почитал, погуглил - пишут нужно route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1, но тогда в сети нет интернета. Может от усталости что-то упустил, буду благодарен за подсказки.


inet static => inet manual

и всё через конструкцию pre-up/up/down делай.

ktk ★★★★ ()

А что должны означать эти две конструкции ?

route add -net 192.168.0.1 netmask 255.255.255.0 dev eth1

route add -net 0.0.0.0 netmask 255.255.255.255 dev eth0

В общем-то, ни одна из них не является правильной. Да стоит уже использовать «ip route add ...».

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

проблема в udev. и тег добавь

sudoedit /etc/udev/rules.d/70-persistent-net.rules

просто поменяй местами имена твоих интерфейсов

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

0.0.0.0 netmask 255.255.255.255 dev eth0

А что это такое? 0.0.0.0/0.0.0.0 - понятно, default gateway. А это что-то странное

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

А что это такое? 0.0.0.0/0.0.0.0 - понятно, default gateway. А это что-то странное

Вот-вот. Плюс непонятно, куда оба эти маршрута. Маршрутизация в интерфейс, а не на адрес, допустима только для интерфейсов точка-точка (всякие ppp, и им подобные) по вполне очевидной причине. Маршрутизацию в ethernet, может быть, можно задать, но работать она если и будет, то непредсказуемо.

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

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

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

и что удивительно оно работало...

Видимо, Linux-овый IP-стек решил сделать хоть что-то, и слал пакеты в ethernet на широковещательный MAC. В итоге, в числе прочих, долетало и до шлюза. Но что творилось в сети в это время... :-)

Вот такая вот убунтология... Надо, чтобы им там поправил на wiki кто-нибудь, а то бардак. И вот то, что, наверное, предполагается, как default gw, надо переделать или как selivan написал, или, вовсе, как route add default gw <бла-бла>. Или, с использованием iproute2:

up ip route add 192.168.0.0/24 via <>
up ip route add defailt via <>

Только вот надо ещё вчитаться и разобраться, надо ли оно там вообще.

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

Ну да, ввиду

sudo ifconfig eth1 192.168.0.1 netmask 255.255.255.0
sudo ifconfig eth1 up

строка

route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1

является маразмом: direct route на данную сеть через eth1 появляется за счёт ifconfig eth1 up, так как IP из этой сети (192.168.0.1) сконфигурирован на этом интерфейсе. Зачем пытаться навесить его же самостоятельно, через route add, я затрудняюсь сказать. По поводу 0.0.0.0/32 уже высказались - это бред тоже.

А в исходном сообщении это вообще неправильно: «192.168.0.1 netmask 255.255.255.0» - это не сеть, так как 192.168.0.1 - это не начало сети при такой маске.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.