Настройка второго IP в Debian'о-подобной системе

Материал из Сетепедии

Перейти к: навигация, поиск

Данная операция проделывалась мною, чтобы получить нормальный доступ к внутрисетевым ресурсам имея при этом внешний IP от Е-телекома на системе Ubuntu 9.10.


Сперва стоит отключить Network Manager( подробнее об этом вы можете прочитать в статье[1])

И так:

Все выполняемые операции производятся в терминале

1) Убиваем наш интерфейс (если имеется) командой в терминале: sudo ifdown eth0;


2) Настраиваем наш интерфейс (для этого можно воспользоваться любым текстовым редактором, ИМХО я использую gedit так как он более всех походит на виндовый). Для этого открываем файл /etc/network/interfaces (пример gedit /etc/network/interfaces) и записываем туда следующие строки

auto lo iface lo inet loopback


auto eth0

iface eth0 inet static

address xxx.xxx.xxx.xxx -внешний и основной IP

netmask 255.255.248.0 -маска сети

broadcast 255.255.255.255

hostname username -имя нашего хоста в сети

gateway 95.140.94.254 -шлюз

up ifconfig $IFACE:0 172.23.16x.xxx netmask 255.255.248.0 -поднимаем второй интерфейс (где 172.23.16x.xxx выбранный IP из внутренней сети)

down ip addr del 172.23.16x.x/21 dev $IFACE:0 -и убиваем его (так как могут возникнуть некоторые трудности если не добавить эту строчку, в частности может полностью рухнуть интерфейс eth0)


Сохраняем изменения закрываем файл.


3) Теперь создаем команду добавления маршрутов. Для этого создаем файл с расширением *.sh в любой директории. И записываем туда маршруты, например на данный момент у нас в сети работают такие маршруты

ip route add 192.168.0.0/16 via 172.23.167.254 src 172.23.16x.xxx metric 5 dev eth0

ip route add 172.23.32.0/19 via 172.23.167.2 src 172.23.16x.xxx metric 5 dev eth0

ip route add 172.23.64.0/19 via 172.23.167.2 src 172.23.16x.x metric 5 dev eth0

ip route add 172.23.96.0/19 via 172.23.167.2 src 172.23.16x.x metric 5 dev eth0

ip route add 172.23.128.0/19 via 172.23.167.2 src 172.23.16x.x metric 5 dev eth0

ip route add 172.23.168.0/21 via 172.23.167.2 src 172.23.16x.x metric 5 dev eth0

ip route add 192.168.70.0/23 via 172.23.167.2 src 172.23.16x.x metric 5 dev eth0

ip route add 192.168.80.0/23 via 172.23.167.2 src 172.23.16x.x metric 5 dev eth0

ip route add 192.168.90.0/24 via 172.23.167.2 src 172.23.16x.x metric 5 dev eth0

ip route add 192.168.0.0/24 via 172.23.167.2 src 172.23.16x.x metric 5 dev eth0


где 172.23.16x.xxx ваш второй IP.


Сохраняем изменения.

4) Добавляем прописывание маршрутов в автозагрузку. Данная операция необходима потому, что маршруты не сохраняются после перезагрузки системы.

Я воспользовался таким методом: в файле /etc/rc.local перед строчкой exit 0 добавил строку /bin/sh -e *.sh , где *.sh - полный путь к вашей команде с маршрутами.

Так же желательно дать вашей команде права рута, это можно сделать командой chmod 777 *.sh , где *.sh - полный путь к вашей команде с маршрутами.


5) Поднимаем интерфейс командой ifup eth0. прописываем маршруты командой: sudo sh *.sh