IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> [Help] 2 провайдера - 1 комп (ubuntu), Помогите настроить
Xane
сообщение 15.12.2010, 16:22
Сообщение #1





Группа: Новички
Регистрация: 15.12.2010
Пользователь №: 51 898



Всем привет, подключился к вам недавно, до этого сидел/сижу в олимпусе (почти 10 лет)

Вот стоит задача у меня непростая, подключить комп к 2 сетевым карточкам что бы с внешки на комп можно было заходить по обоим внешним IP.

Система: Ubuntu 10.4

Олимпус (eth1):
подключен к компу через роутер (Dir300) с DHCP с дает такие настройки:
ip:192.168.0.2
gw:192.168.0.1
mask:255.255.255.0
роутер нужные порты соответственно пробрасывает до компа

Кабинет (eth0):
подключен напрямую к компу с авторизатором (всякие пробовал работают как то не понятно и не стабильно, посоветуйте какой лучше, т.к. все темы которые видел были за 2007г.)
сетевые настройки стандартные статические, точно не помню, т.к. сейчас с работы пишу.

Фигня такая что при запуске eth0 у меня к чертям вылетает eth1 соединения и шлюз по умолчанию ставится от eth0

Начал рыть, сказали что надо динамическую машрутизацию устанавливать (zebra или quagga и др. пакеты), сразу вопрос авторизатор не помеха? Кто уже такое настраивал?

Суть в том что надо настроить комп так что бы при заходе с IP кабинета комп и отвечал ему через интерфейс кабинета, а если заходят с олимпусовского IP то и отвечал по олимпусовскому интерфейсу.

Это всё для реализации сайта крутящегося на компе, никаких проксей и т.п. для использования 3х лиц я делать не собираюсь

Кто нибудь наверняка уже такое проделывал, поделитесь опытом.

Буду благодарен любой инфе
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Shaman
сообщение 15.12.2010, 16:52
Сообщение #2





Группа: Модераторы
Регистрация: 1.12.2005
Из: OnLine
Пользователь №: 6 823



http://www.google.com/search?q=iproute+два+провайдера
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
blazed
сообщение 15.12.2010, 21:19
Сообщение #3





Группа: Пользователи
Регистрация: 24.2.2009
Пользователь №: 40 392



Конечно делал, все просто.
Но для реализации потребуется iproute2, в Ubuntu 10.04 он, насколько я помню, имеется по умолчанию.

Итак.

в файл /etc/iproute2/rt_tables
добавляешь две строчки
Код
201    prov_1
202    prov_2

этим ты создашь две таблицы маршрутизации для iproute2
далее...
создаешь файл /etc/rc.iproute2
Код
#!/bin/sh

TABLE1=prov_1
M1=100
IP1=aa.aa.aa.aa
GATE1=bb.bb.bb.bb

TABLE2=prov_2
M2=101
IP2=cc.cc.cc.cc
GATE2=dd.dd.dd.dd

ip route flush table $TABLE1 # Необязательно. Очищаем маршрутизацию для первой таблицы
ip route add default via $GATE1 table $TABLE1 # На пакеты из первой таблицы отвечать через первый шлюз
ip route del default via $GATE1 # Необязательно. Очищаем маршрутизацию по умолчанию
ip route add default via $GATE1 metric $M1 # Обязательно только для одного из интерфейсов. Метрику указал.
ip rule del table $TABLE1 # Необязательно. Очищаем первую таблицу
ip rule add from $IP1 table $TABLE1 # Пакеты полученные на первый IP помещать в первую таблицу

ip route flush table $TABLE2
ip route add default via $GATE2 table $TABLE2
ip route del default via $GATE2
ip route add default via $GATE2 metric $M2
ip rule del table $TABLE2
ip rule add from $IP2 table $TABLE2

запускаешь его

Вуаля, пакеты уходят с того интерфейса на который приходили.
Прописываем скрипт в автозагрузку.

PS: Метрики на интерфейсах указал для того, чтобы при падении линии не менять дефолтный шлюз, а просто изменить метрику, что удобнее.
PPS: Необязательные команды в скрипте прописал чтобы при ручном повторном запуске скрипта ошибок не было.

Сообщение отредактировал blazed - 15.12.2010, 21:22
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
blazed
сообщение 15.12.2010, 22:14
Сообщение #4





Группа: Пользователи
Регистрация: 24.2.2009
Пользователь №: 40 392



Кстати, динамическая маршрутизация при всего двух шлюзах вряд ли будет актуальна. Да и для ее реализации потребуется сначала договориться с провайдерами, чтобы они редестрибьютели тебе шлюзы.
Если удастся договориться, отпишись хоть.
По мне так, если маршруты не будут часто меняться, то лучше забить на динамическую маршрутизацию, и проверять живучесть шлюзов скриптиком по крону.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Xane
сообщение 15.12.2010, 22:37
Сообщение #5





Группа: Новички
Регистрация: 15.12.2010
Пользователь №: 51 898



спасибо вам, очень помогли! буду пробовать, по авторизатору, как я понел сейчас самый актуальный это который http://telenet.ru/files/lanauth.lnx.bin ? посоветуйте самый стабильный и что бы в автозагрузку его запихнуть и при падении сам поднимался (я скрипты на баше ещё не имел опыта писать для проверок связи по крону)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
blazed
сообщение 15.12.2010, 22:57
Сообщение #6





Группа: Пользователи
Регистрация: 24.2.2009
Пользователь №: 40 392



Цитата(Xane @ 15.12.2010, 22:37) *
буду пробовать, по авторизатору, как я понел сейчас самый актуальный это который http://telenet.ru/files/lanauth.lnx.bin ? посоветуйте самый стабильный и что бы в автозагрузку его запихнуть и при падении сам поднимался

Про авторизатор не скажу т.к. не пользуюсь им, а вот VPN сам поднимается при грамотной настройке.
Тут уж кому что нравится.

Цитата(Xane @ 15.12.2010, 22:37) *
я скрипты на баше ещё не имел опыта писать для проверок связи по крону

Скрипт актуален для маршрутизации на два канала из моего предыдущего поста.
Лови не жалко.
Код
#!/bin/sh

GW1="xx.xx.xx.xx"
DEV1="eth1"
GW2="xx.xx.xx.xx"
DEV2="eth0"

ifmetric eth0 101
ping -c 3 -s 100 $GW1 -I $DEV1 >/dev/null 2>&1
if [ $? -ne 0 ]; then
#  echo "первый упал"
    ping -c 3 -s 100 $GW2 -I $DEV2 >/dev/null 2>&1
    if [ $? -ne 0 ]; then
#      echo "второй упал"
      ifmetric eth1 100
    else
#      echo "второй работает"
      ifmetric eth1 102
    fi
else
#    echo "первый работает"
    ifmetric eth1 100
fi

Скрипт проверяет живучесть шлюзов, и меняет метрику, тем самым изменяя маршрутизацию пакетов.
В моем случае eth1 - основной, eth0 - резервный.

Сообщение отредактировал blazed - 15.12.2010, 23:06
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Xane
сообщение 16.12.2010, 19:26
Сообщение #7





Группа: Новички
Регистрация: 15.12.2010
Пользователь №: 51 898



благодарю
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Xane
сообщение 18.12.2010, 20:49
Сообщение #8





Группа: Новички
Регистрация: 15.12.2010
Пользователь №: 51 898



что такое prov_1, prov_2 ?

и при запуске /etc/rc.iproute2 выдает ошибку

Код
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
blazed
сообщение 19.12.2010, 00:36
Сообщение #9





Группа: Пользователи
Регистрация: 24.2.2009
Пользователь №: 40 392



Цитата(Xane @ 18.12.2010, 20:49) *
что такое prov_1, prov_2 ?

Это названия таблиц маршрутизации, они создаются в файле /etc/iproute2/rt_tables
настройка правил для них в данном случае происходит в скрипте /etc/rc.iproute2


Цитата(Xane @ 18.12.2010, 20:49) *
и при запуске /etc/rc.iproute2 выдает ошибку
Код
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process

Только при первом запуске или и при последующих?
Если только в первый раз, тогда это объясняется удалением еще не созданного маршрута строчкой ip route del default via $GATE1

Покажи вывод
ip route
ip rute
после запуска скрипта

Сообщение отредактировал blazed - 19.12.2010, 00:36
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 21.7.2018, 22:50
Блог КАБiNET