Автор Тема: Как прописать роуты(маршруты)  (Прочитано 27503 раз)

UncleHex

  • Глобальный модератор
  • Пользователь
  • *****
  • Сообщений: 68
  • Карма: +33/-1
  • βṟåȊﬨṦțØƦɱęṟ
    • Просмотр профиля
    • Мой блог o Linux
Как прописать роуты(маршруты)
« : 11 Декабрь 2010, 21:14:07 »
Итак зачем нужны роуты(маршруты)?
Если в двух словах, то с помощью них можно при поднятом интернет соединении пользоваться ресурсами вашей локальной сети напрямую, то-есть не тратя интернет трафик.
То есть мы заставляем ходить трафик на определённые адреса через локальную сеть.

Немного теории
Предположим мы выходим в интернет через одну сетевую карту, путём подключения VPN (никаких роутеров не используется, это совсем другая история).
При успешном подключении к серверу vpn у нас появляется сетевой интерфейс pppx
Проверить активные сетевые интерфейсы можно командой:
ifconfigИнтерфейс ethx как вы уже наверно догадались выступает в роли локальной сети.
Так вот нам нужно заставить ходить трафик для определённых узлов напрямую через интерфейс ethx минуя  pppx.

Есть довольно удобный способ это сделать - имеется некий скрипт который запускает те или иные команды при поднятии ppp
Отредактировать его можно командой:
sudo gedit /etc/ppp/ip-upИменно в этот файл и следует прописать маршруты (в самый конец файла).

Маршрут будет иметь следующий формат:

пример:
route add -net 192.168.36.0 netmask 255.255.255.0 eth0

из этой команды следует:
Мы заставляем обращаться к подсети  192.168.36.0-192.168.36.254 по маске 255.255.255.0 через интерфейс eth0(локальная сеть)

Таким образом добавляем все нужные нам маршруты.

Перезагружаемся, поднимаем интернет, убеждаемся что всё прописалось командой:
route
Уточняйте список маршрутов у своего провайдера!
Если у вас есть список роутов для windows, его можно легко переделать для linux.

Пример маршрута в windows:
route -p add 10.0.0.0 mask 255.0.0.0 10.205.13.254

В linux это будет правильно прописать как:

route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.205.13.254 dev eth0

где gw это ваш локальный шлюз.

То что описано здесь можно считать "вводной лекцией", на самом деле возможностей и способов применения маршрутизации куда больше.

Более подробно можно прочитать здесь:
Ubuntu TCP/IP
Маршрутизация. Что и как(mini-HOWTO)
Настройка маршрутизации в Ubuntu Linux для начинающих
Просмотр IPTV при поднятом L2TP
« Последнее редактирование: 11 Декабрь 2010, 21:33:00 от UncleHex »

Marataus

  • Новичок
  • *
  • Сообщений: 30
  • Карма: +0/-0
    • Просмотр профиля
Re: Как прописать роуты(маршруты)
« Ответ #1 : 08 Январь 2011, 06:31:04 »
Я делаю просто для 3G модема при подключенной локальной сети -  sudo route add default ppp0
Видна и локальная сеть и интернет.
Но вопрос: - куда прописать эту команду sudo route add default ppp0, в какой файл чтобы постоянно не вносить её при перезагрузке и при смене модема (Мегафон и МТС). Если я отключаю один модем, а вместо него вставляю другой, приходится вновь эту команду вводить.

« Последнее редактирование: 08 Январь 2011, 16:21:43 от Marataus »

alkaram37

  • Новичок
  • *
  • Сообщений: 1
  • Карма: +0/-0
    • Просмотр профиля
Re: Как прописать роуты(маршруты)
« Ответ #2 : 28 Январь 2012, 10:40:26 »
хорошая тема! вопрос вот в чем интернет подключается по dsl-соединению
а eth0 тогда отключается и в route не отображается прописаный маршрут
подключена только локалка
alka@alka-mint ~ $ route
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
195.189.18.0    172.31.20.65    255.255.255.240 UG    0      0        0 eth0
172.31.20.64    *               255.255.255.224 U     1      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
172.16.0.0      172.31.20.65    255.240.0.0     UG    0      0        0 eth0
default         172.31.20.65    0.0.0.0         UG    0      0        0 eth0
подключен интернет
alka@alka-mint ~ $ route
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
10.112.0.1      *               255.255.255.255 UH    0      0        0 ppp0
link-local      *               255.255.0.0     U     1000   0        0 ppp0
default         10.112.0.1      0.0.0.0         UG    0      0        0 ppp0

и вот этот маршрут не прописывается
172.16.0.0      172.31.20.65    255.240.0.0     UG    0      0        0 eth0и доступ к локальной сети отсутствует :)

Не с того начали: !!! Описание проблемы в разделе "Сеть и Интернет" !!!
« Последнее редактирование: 28 Январь 2012, 14:57:21 от Azure »

MOHA

  • Старожил
  • ****
  • Сообщений: 273
  • Карма: +33/-1
    • Просмотр профиля
Re: Как прописать роуты(маршруты)
« Ответ #3 : 28 Январь 2012, 13:44:18 »
Надо показать вывод ifconfig
Цитировать
...вопрос вот в чем интернет подключается по dsl-соединению
а eth0 тогда отключается и в route не отображается прописаный маршрут
Не понятна конфигурация оборудования
Дорогу осилит идущий!