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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: сервер ubuntu и 2 провайдера  (Прочитано 20280 раз)

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

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #75 : 25 Июня 2015, 09:50:42 »
В примере выше смотрите закомментированную строчку.
Увидел :D. Значит, если раскомментировать эту строку с unset new_routers new_domain_name_servers, то в системе не будет назначен маршрут по умолчанию и не будет установлен DNS провайдера, но статические маршруты в новых таблицах маршрутизации со своими метриками будут подняты? Не могу уяснить, скрипт в /sbin/dhclient-script поднимает маршрут по умолчанию или если есть скрипты в /etc/dhcp3/dhclient-enter-hooks.d, в которых указана опция unset new_routers, то маршрут по умолчанию не поднимается?
« Последнее редактирование: 25 Июня 2015, 13:39:38 от Sliver »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #76 : 27 Июня 2015, 12:57:09 »
Примерно так.
OpenWrt 19.07

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #77 : 27 Ноября 2015, 23:37:27 »
Примерно так.
Переставил Ubuntu Server 14.04 на новые WD Raid edition, отредактировал конфиги для поднятых мостов с целью установить несколько соединений ещё и на вириальной машине KVM, но на третьем подключении к интернету с DHCP интерфейс не поднимается, а параметр unset удаляет адреса DNS :(
(Нажмите, чтобы показать/скрыть)
Добавил в /etc/iproute2/rt_tables название таблицы uplink3, а в /etc/network/interfaces указал для моста br0 параметр iface br0 inet dhcp, но мост не получил никаких настроек от DHCP. Удалил Bridge и перестроил конфигурацию без моста для eth0, но без результата :'(
Подскажите, что мной было упущено?
P.S. конфигурация немного изменилась, на каждом интерфейсе был поднят мост для соединения с tap-интерфейсами гостевой ОС. Для этого пришлось изменить конфигурацию рррое-соединений и создавать их с моста, на которых в качестве шлюза был установлен один из реальных IP в качестве шлюза, промаршрутизированных провайдером. В конфигах для рррое изменились только названия eth1 и eth2 на br1 и br2 соответственно. При этом рррое работает нормально, а DHCP не поднимается ???

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #78 : 01 Декабря 2015, 12:09:12 »
Добавил в /etc/dhcp/dhclient.conf строку для запуска скриптов script "/etc/dhcp/dhclient-enter-hooks.d";, но без результата, интерфейс eth0 вообще не запускается. Хотя eth1 и eth2 с поднятыми на них мостами и рррое-соединениями работают с метриками 20 и 30 соответственно.
В логах var/log/upstart/network-interface-eth0.log пишет следующее:
(Нажмите, чтобы показать/скрыть)

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #79 : 06 Декабря 2015, 21:55:13 »
Добавил в исключения apparmor скрипт sbin.dhclient создав ссылку на ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable/ с целью избавиться от ошибки (хотя ссылка уже была с создана системой)execve (/etc/dhcp/dhclient-enter-hooks.d, ...): Permission denied не помогло.
Удалил полностью apparmor/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor-utils
Ошибка прав доступа пропала из логов, но интерфейс eth0 не поднимается из-за ошибки
Код: (Bash) [Выделить]
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x2fa0f038)
send_packet: Network is down
dhclient.c:2038: Failed to send 300 byte long packet over eth0 interface.
receive_packet failed on eth0: Network is down
:-\
« Последнее редактирование: 07 Декабря 2015, 22:18:08 от Sliver »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #80 : 06 Декабря 2015, 22:25:13 »
Sliver, переустанавливайте систему. Вы её угробили.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #81 : 07 Декабря 2015, 00:05:40 »
Sliver, переустанавливайте систему. Вы её угробили.
Так переустановил на новые диски. Раньше был Ubuntu 10.04.4 LTS (Lucid Lynx), а сейчас Ubuntu 14.04.3 LTS (Trusty Tahr) на Linux-RAID, а рекомендации для поднятия маршрутов при DHCP были на предыдущую версию ОС с dhcp3 ???
Прочел много статей, описывающих новые баги Трасти Тара в отношении DHCP и склоняюсь к мысли, что проблема в каком-то ином алгоритме запуска скриптов в /etc/dhcp/dhclient-enter-hooks.d/.
Систему переставить и заново накатить все сервисы с виртуальными машинами мне не сложно и займёт всего несколько часов, а вот настроить маршрутизацию для DHCP соединения с провайдером не могу уже вторую неделю :'(

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #82 : 07 Декабря 2015, 01:45:29 »
Я вообще не понимаю ваших мытарств.
Два провайдера, всё работает. Без всяких хуков.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #83 : 07 Декабря 2015, 11:07:40 »
Два провайдера, всё работает.
Провайдер один, но от него два подключения по рррое, которые действительно работают замечательно, при этом используются все реальные IP, да ещё в качестве шлюзов для виртуальных машин KVM. Но для надёжности необходимо подключить ещё один канал, в котором реальный IP выдаётся только по DHCP, но не получается даже поднять интерфейс, хотя из логов можно сделать вывод, что он выключается автоматически для предотвращения конфликтов конфигурации маршрутизации в системе. Только не ясно, является этому причиной то, что скрипт для поднятия маршрутов в /etc/dhcp/dhclient-enter-hooks.d/ некорректно написан, либо он просто не запускается, в связи с чем система не поднимает шлюз по умолчанию для DHCP интерфейса, т.к. при подключении рррое интерфейсов срабатывают скрипты для поднятия своих маршрутов с определёнными метриками. Но это мои мысли, причина проблемы может быть иная.
Вообще планировал поднять интерфейс с DHCP в качестве главного канала с наименьшей метрикой, а два интерфейса pppoe, поднятых на двух мостах для соединения их с виртуальными интерфейсами гостевых ОС, использовать в качестве резервных каналов. Ещё была сверх задача - заказать у провайдера с DHCP ещё один реальный IP и пробросить его виртуальной машине через мост, с которого было бы установлено DCHP-соединение, а также установить Squid и настроить его на работу с несколькими каналами интернета, но пока остановился на своей проблеме :-[

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #84 : 07 Декабря 2015, 16:26:39 »
Но для надёжности необходимо подключить ещё один канал, в котором реальный IP выдаётся только по DHCP, но не получается даже поднять интерфейс, хотя из логов можно сделать вывод, что он выключается автоматически для предотвращения конфликтов конфигурации маршрутизации в системе.

КЕМ выключается?

dhclient.conf
interface XXX {
        request
                subnet-mask,
                broadcast-address,
                time-offset,
                routers,
                #domain-name,
                #domain-name-servers,
                #host-name,
                ntp-servers;
}

Пилить до удовлетворения.
А вообще, раз у вас всё виртуализировано, не вижу проблемы создать контейнер для физического интерфейса и поставить его маршрутизатором.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #85 : 08 Декабря 2015, 00:18:04 »
КЕМ выключается?
Судя по логам в var/log/upstart/network-interface-eth0.log
(Нажмите, чтобы показать/скрыть)
интерфейс выключается самим клиентом DHCP сразу после отправки сообщения типа DHCPDISCOVER ???
dhclient.conf
Пилить до удовлетворения.
Да, но где найти мануал, в котором через dhclient.conf поднимается несколько статических маршрутов с несколькими шлюзами выдаваемыми по DHCP да ещё и присвоить им разные метрики? Ведь в моём случае для рррое-соединений маршруты поднимаются скриптами из /etc/ppp/ip-up.d/ppp-up и /etc/ppp/ip-down.d/ppp-down, в которых для каждого шлюза прописаны свои метрики, а для DHCP-соединения маршруты должны подниматься из /etc/dhcp/dhclient-{enter,exit}-hooks.d/, т.к. именно для этого эти каталоги со скриптами и были придуманы, только примеров и документации не могу найти :-[
А вообще, раз у вас всё виртуализировано, не вижу проблемы создать контейнер для физического интерфейса и поставить его маршрутизатором.
Прочёл про LXC-контейнеры, но не пойму, чем они могут упростить задачу по поднятию статических маршрутов для DHCP :-\ Мне до конца не ясен принцип работы DHCP-клиента на Трасти Таре, а пытаться настроить всё при помощи дополнительных контейнеров, в которых так же надо создавать мосты, как-то не целесообразно. Мне хотелось на виртуальной машине поднять все три реальных IP и в виртуальной машине так же поднять маршруты для нескольких шлюзов и сделать доступ к вируталке по всем этим адресам, а не через одни шлюз :coolsmiley:

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #86 : 08 Декабря 2015, 00:31:48 »
Судя по логам в var/log/upstart/network-interface-eth0.log
Судя по логу, у вас кабель в сетевую карту не вставлен.

Цитировать
Да, но где найти мануал
На каждом углу.
man dhcp-options
например.


Цитировать
Прочёл про LXC-контейнеры
Вы ещё не используете LXC? Тогда мы идём к вам!!!
Цитировать
не пойму, чем они могут упростить задачу
Они могут упростить задачу, разделив её на несколько подзадач.

Цитировать
надо создавать мосты
Зачем создавать мосты? O.o
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #87 : 09 Декабря 2015, 17:52:13 »
Судя по логу, у вас кабель в сетевую карту не вставлен.
Специально сходил к стойке и переткнул кабеля, но нет. Интерфейс работал до этого со статическим IP. Правда в сервере есть ещё интерфейс eth3, который имеет статический IP и подключён к порту роутера, в котором подключён и настраиваемый в данный момент eth0 с DHCP, т.к. через роутер раздаётся инет в сеть и пока не могу его убрать, а также он выдаёт DCHP, при его помощи эмитирую реальные условия.
man dhcp-options
В этом мануале нет примера поднятия маршрутов и шлюзов с разными метриками.
Они могут упростить задачу, разделив её на несколько подзадач.
Но для решения задачи подключения нескольких каналов интернета мне осталось наладить работу специальных скриптов DHCP, которые поднимут необходимые шлюзы со своей метрикой, а в случае падения этого канала, достаточно поменять его метрику и весь трафик пойдёт по резервной линии. Мосты необходимо поднимать для организации сетевых подключений виртуальных машин KVM, т.к. при помощи них осуществляется коммутация с виртуальными интерфейсами tun. Кроме того, хочу что бы и у гостевой ОС было аж три реальных IP, а не один шлюз от LXC-контейнера.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #88 : 09 Декабря 2015, 23:53:10 »
Sliver, вам в голову не приходит, что ваше "поднятие маршрутов и метрик" читающим несколько приелось?
Выкиньте ваши скрипты, они никому не нужны и не интересны.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 102
  • Administrator
    • Просмотр профиля
Re: сервер ubuntu и 2 провайдера
« Ответ #89 : 10 Декабря 2015, 13:02:43 »
ваши скрипты, они никому не нужны и не интересны.
На этот счёт, по рекомендации кота учёного, мной было принято решение использовать именно эти скрипты и ничего не изменять в дефолтных конфигах типа dhclient.conf. koshev объективно показал, что эти скрипты решают задачу подключение к более, чем одному провайдеру интернета. Для Дебиана есть готовое решение маршрутизации для нескольких соединений - Routing for multiple uplinks. Но пример только для статических настроек интерфейсов, которые задаются прямо в /etc/network/interfaces. При этом, можно настроить балансировку и одновременное использование нескольких каналов интернета, пропатчив ядро Linux. А для более тонкой настройки балансировки можно ещё установить Bird. Но т.к. в моём случае соединения с провайдерами происходит через рррое и DHCP, логичнее всего использовать специализированные скрипты, разработанные для данной ситуации. Ваш пример настройки с правкой dhclient.conf не подходит по причине того, что параметр routers установит в системе маршрут по умолчанию, который скорее всего собьёт настройки рррое-соединений, поднятые при помощи скриптов в /etc/ppp/ip-{up,down}.d :(
Вот пример на том же Дебиане как отключить добавление шлюза по умолчанию клиентом DHCP:
Код: (Bash) [Выделить]
#file = /etc/dhcp3/dhclient-enter-hooks.d/no-default-route

  case $reason in
    BOUND|RENEW|REBIND|REBOOT)
      unset new_routers
      ;;
  esac
Тут тоже используют эти дополнительные скрипты, которые всегда запускаются из этой директории, если их туда положить.
Ещё есть пакет Quagga, который тоже позволяет решить задачу нескольких подключений к провайдерам, создавая виртуальный интерфейс, похожий на LXC-контейнер, выступающий в качестве виртуального роутера, но с ним тоже надо разбираться отдельно :-[

 

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