вторник, 14 июня 2011 г.

Настройка маршрутизации в Linux с помощью *.bat

Практически все провайдеры предлагают настроить маршрутизацию в своей системе с помоью виндовского батника, но лишь единицы вспоминают о линуксоидах. Здесь я покажу свой способ настройки маршрутизации с помощью *.bat в linux.

Скачав нужный bat файл мы видем примерно следующие:

@echo off
route -f
route add -p 172.16.2.0 mask 255.255.255.0 10.7.21.1
route add -p 172.16.5.0 mask 255.255.255.0 10.7.21.1
route add -p 10.0.0.0 mask 255.0.0.0 10.7.21.1

Где последние цифры это наш шлюз, а первые... казуальному пользователю знать не к чему, раз их даёт провадер значит так надо :)
Начинаем редактировать прямо в этом файле:
  1. Стираем первых 2 строчки
  2. Перед каждой строчкой вставляем sudo(т.е. запускаем под root'ом)
  3. -p заменяем на -net
  4. mask заменяем на netmask
  5. Перед шлюзом(у меня это 10.7.21.1) вставляем gw
  6. В конце пишем наш сетевой интерфейс(см. скрины ниже)
Спрятать «




Если у вас одна сетевая карта, то скорее всего будет eth0.
Далее... открываем файл rc.local в текстовом редакторе:
1.sudo gedit /etc/rc.local

Перед строчкой "exit 0" вставляем что у нас получилось после редактирования bat файла, должно быть както так:

# By default this script does nothing.
sudo route add -net 172.16.2.0 netmask 255.255.255.0 gw 10.7.21.1 eth1
sudo route add -net 172.16.5.0 netmask 255.255.255.0 gw 10.7.21.1 eth1
sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.7.21.1 eth1
exit 0

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

1 комментарий:

  1. Если вбивать в той же последовательности, что и в Windows. Можно наткнуться на ошибку "No such process". Мне помогало вводить их немного в другой последовательности, либо как советуют умные люди перед eth1 прописать dev.

    ОтветитьУдалить