Настройка второго 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
