Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Помогите настроить сервер  (Прочитано 2465 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TED_7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Помогите настроить сервер
« : 24 Ноября 2015, 10:21:25 »
Доброго времени суток.
Настраиваю Ubuntu Server 14.04 LTS. На сервере 3 сетевые карты:
eth0 - смотрит в локальную сеть и собственно раздает интернет
etn1 - основной провайдер
eth2 - резервный
Настроил сетевые интерфейсы:
       
(Нажмите, чтобы показать/скрыть)
Настроил нат:
   
(Нажмите, чтобы показать/скрыть)
Все работает, инет есть и сервер его раздает. Стоит задача, при отсутствии инета с основного провайдера, автоматически переключаться на резервного и обратно. Тем на эту тему давольно много в интернете, нашел скрипт на баше и закинул его в cron (изменив его под себя, в шапке банально прописав свои IP):
 
(Нажмите, чтобы показать/скрыть)
Проверяю, выдернув кабель из eth1 - инета нет. Запускаю скрипт (предварительно дав ему права на исполнение sudo chmod 777 inet.sh):
sudo ./inet.sh
Но инета нет, включаю кабель на место, инета нет, только перезагрузка сервака. Подскажите что не так в скрипте или может быть в nat.
Заранее благодарен!
« Последнее редактирование: 22 Декабря 2015, 09:45:56 от TED_7 »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #1 : 24 Ноября 2015, 10:38:57 »
Во-первых, правила в netfilter желательно грузить до подьёма физических интерфейсов, а потому предлагаю перенести команду на loopback-интерфейс
Во-вторых: если шлюз сам является прокси, то рекомендуется использовать действие REDIRECT, вместо DNAT (меньше нагрузки на ядро)

Теперь по сути вопроса: судя по переменным MAIN и SECOND у Вас неприятная ситуация, когда у двух провайдеров одинаковая подсеть. Причём в обоих случаях используется dhcp, а потому строка
route -n | tail -1 | awk '{ print $2}'может указывать на шлюз, полученный по dhcp последним.
А потому этот скрипт под Вашу ситуцию не подходит.

Оффлайн TED_7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #2 : 24 Ноября 2015, 10:50:36 »
Спасибо за быстрый ответ.
На самом деле это не адреса провайдеров, настраиваю сервер в своей подсети, дабы затем без потери времени поменять сервера на выходных. Подскажите, если я задам ip статикой, поможет ли это решить проблему? (хотя они останутся в одной подсети)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #3 : 24 Ноября 2015, 10:59:21 »
Если "внешние" сетевые в одной подсети, то IP-адрес шлюза будет одинаков. А значит скрипт опять бесполезен.
Разным будет интерфейс.

Тут нужно для себя определиться что именно резервируется. Если физическое состояние состояние порта, то проблема решается буквально метрикой дефолтного шлюза для разных интерфейсов (учитывая статику это вообще беспроблемно). Если же на более высоких уровнях, тот тут уже нужно, конечно, скриптоваться.

Оффлайн TED_7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #4 : 24 Ноября 2015, 11:29:14 »
Извините не понял Вас....

У меня есть сервер, ПК и ноут, связаны через хаб, организована своя подсеть со статическими IP (192.168.1.*)
eth0 подключен к хабу (он и раздает инет).
eth1 и eth2 подключены к корпоративной сети имеют адресацию 192.168.0.* ("внешние")
Почему IP-адрес шлюза будет одинаковым? Ведь насколько я понимаю для моей подсети (192.168.1.*)
шлюзом выступает eth1 либо eth2 (которые действительно находятся в одной подсети, но имеют разные IP)?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #5 : 24 Ноября 2015, 11:35:26 »
Вы себя путаете и других пытаетесь запутать.
Для Вашей сети щлюзом будет eth0. Про eth1 и eth2 Ваши подопечные вообще не знают и не будут знать (да и не нужно им это). Про вашу локалку вообще речь не идёт, с ней всё ясно.

Вы настраиваете внешнюю сеть, вот и давайте говорить про неё. eth1 и eth2 тоже в один коммутатор включены? Или это всё-таки совершенно разные сети и подсети?

Оффлайн TED_7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #6 : 24 Ноября 2015, 11:58:22 »
Я не пытался никого запутать, я сам запутался ))))))
Да действительно, шлюз будет eth0....
К сожалению, eth1 и eth2 действительно подключены к одному маршрутизатору D-Link и имеют единую подсеть.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #7 : 24 Ноября 2015, 12:02:08 »
Можно спросить? Какова преследуется цель? Защита только витой пары? А стоит ли овчинка выделки?
И да, в таком случае решается метрикой.
Только вот если тот маршрутизатор лягет (зависон, питание и т.п.), то сети всё равно не будет... Резервирование тапочек - не более.

Оффлайн TED_7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #8 : 25 Ноября 2015, 05:31:52 »
Вообще преследуется цель заменить существующий сервак Windows Server 2008 + керио. На горячую настраивать нет возможности, предприятие работает и в выходные, поэтому было принято решение предварительно настроить и проверить сервер на Ubuntu. Необходимо, чтобы интернет был всегда, при отключении основного сервер переключается на резервный и обратно. В принципе, устроит и вариант с IP-балансировкой (объединение двух каналов), инструкцию нашел, буду пробовать.
Если честно, мне не понятно, почему интернет не появляется обратно....
Отбросим клиентские машины, рассмотрим только сервер. При отключении витой пары из интерфейса eth1 на серваке (эмулируем отключение инета с основного провайдера) пропадает интернет, не на клиентской машине а на серваке, скрипт отрабатывает интернета нет (спасибо, Вы объяснили почему не работает), затем я подключаю обратно витую пару в eth1 - интернет не появляется, запускаю скрипт - не появляется, только при перезагрузке начинает работать. Не смогли бы подсказать, почему интернет не появляется?

Оффлайн bukass

  • Активист
  • *
  • Сообщений: 976
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #9 : 25 Ноября 2015, 07:00:59 »
TED_7,
Если у основного и резервного провайдера сети разные (в смысле как сейчас?), почему не смоделировать ситуацию на стенде?
Всем пора в Изумрудный город, кому за умом, кому за сердцем.

Оффлайн TED_7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #10 : 25 Ноября 2015, 07:42:06 »
bukass,
Да у провайдеров сети разные. Вас не затруднит, по-подробнее рассказать о стенде и каким образом можно смоделировать ситуацию? Буду благодарен!

Оффлайн bukass

  • Активист
  • *
  • Сообщений: 976
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #11 : 25 Ноября 2015, 08:00:38 »
TED_7,
Свич D-link как понял? Управление твое есть?

На самом деле вариантов несколько.
Пример, как сделал бы я:

Поднять на тестовой машинке на линуксе (подойтет и роутер микротик) два интерфейса на одном физическом - vlan 100 и vlan 101 повесить адреса на vlan100 192.168.1.1/24 на vlan101 192.168.2.1/24

Подключаем машинку с портом на котором висят вланы в 25 порт свича - Закидываем влан на свич

create vlan test t 100config vlan test add tagged 25config vlan test add untagged 1
create vlan test1 t 101config vlan test1 add tagged 25config vlan test1 add untagged 2

Все, в первом порту настройки сети 192.168.1.2 gw 192.168.1.1 mask 255.255.255.0
Во втором настройки сети 192.168.2.2 gw 192.168.2.1 mask 255.255.255.0
Всем пора в Изумрудный город, кому за умом, кому за сердцем.

Оффлайн TED_7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #12 : 25 Ноября 2015, 08:04:53 »
Спасибо! Буду пробовать

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28466
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #13 : 25 Ноября 2015, 14:11:35 »
Виртуалки отменили?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн TED_7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Помогите настроить сервер
« Ответ #14 : 25 Декабря 2015, 06:49:51 »
Доброго времени суток, хочу продолжить тему.....

Перенастроил сетевые интерфейсы:
(Нажмите, чтобы показать/скрыть)
Теперь eth0 имеит ip 192.168.2.135 (смотрит в локальную сеть), eth1 192.168.1.37, eth2 192.168.0.71
Немного подправил nat:
(Нажмите, чтобы показать/скрыть)

Проверяю наличие инета только на сервере! Подключенные ПК вообще не трогаю.
Убираю кабель из eth1 - инет пропал. Запускаю скрипт: sudo ./inet.sh
Пробую пинговать :
ping 8.8.8.8

From 192.168.0.71 icmp_seq=1 Destination Host Unreachable
From 192.168.0.71 icmp_seq=2 Destination Host Unreachable
From 192.168.0.71 icmp_seq=3 Destination Host Unreachable
From 192.168.0.71 icmp_seq=4 Destination Host Unreachable
From 192.168.0.71 icmp_seq=5 Destination Host Unreachable
From 192.168.0.71 icmp_seq=6 Destination Host Unreachable

Да, скрипт тоже подправил:

(Нажмите, чтобы показать/скрыть)

Если опять воткнуть сетевой кабель в eth1 инет не появляется, только reboot
Подскажите, где ошибка?
Заранее благодарен.


« Последнее редактирование: 25 Декабря 2015, 06:52:18 от TED_7 »

 

Страница сгенерирована за 0.1 секунд. Запросов: 25.