Два ISP+netifrc+"клиент dhcp"+ifplugd
ituser 15 января, 2016 - 19:33
Один ISP выдаёт шлюзу IP-адрес по DHCP. Обозначим так:
Второй ISP реально выделил статический IP-адрес. Обозначим так:
Таблицы маршрутизации:
Примеры маршрутов при подключении isp-dhcp к nic-1, а isp-static к nic-2:
Два ISP. Один выдаёт IP-адрес динамически (dhclient), другой выделил настоящий статический IP-адрес.
Как средствами netifrc (/etc/conf.d/net) сконфигурировать два сетевых интерфейса шлюза так, чтобы всё работало независимо от того, кабель какого ISP в какую сетевую курточку был воткнут?
Доброго Времени суток, уважаемые!
Что имеем
- Gentoo 13:
#uname -a Linux gw 4.1.12-gentoo #1 SMP Sat Jan 9 19:37:05 EET 2016 x86_64 Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz GenuineIntel GNU/Linux
- dhcp:
net-misc/dhcp-4.3.1-r2::gentoo USE="client ldap server ssl -ipv6 (-selinux) -vim-syntax"
- ifplugd:
sys-apps/ifplugd-0.28-r9::gentoo USE="-doc (-selinux)"
- netifrc:
net-misc/netifrc-0.2.2::gentoo
- Для подключения к ISP на шлюзе установлено две сетевых карточки (по одной на каждый ISP). Обозначим так:
- nic-1
- nic-2
- isp-dhcp - ISP, выдающий адрес динамически
- wan-dhcp-ip - IP-адрес
- wan-dhcp-net - сетка между нашим и их шлюзами
- wan-dhcp-gw - шлюз по умолчанию (default)
- isp-static - ISP, выделивший статический адрес
- wan-static-ip - IP-адрес
- wan-static-net - сетка между нашим и их шлюзами
- wan-static-gw - шлюз по умолчанию (default)
# cat /etc/iproute2/rt_tables 101 wan1 102 wan2
# ip ru 101: from wan-dhcp-net lookup wan1 102: from wan-static-net lookup wan2
# ip ro sh ta wan1 wan-dhcp-net dev nic-1 scope link default via wan-dhcp-gw dev nic-1
# ip ro sh ta wan2 wan-static-net dev nic-2 scope link default via wan-static-gw dev nic-2
Вопросы
-
Как средствами netifrc (
- создались правильные правила PRDB?
- в случае неработоспособности канала на isp-dhcp (неработоспособность определяется НЕ получением IP-адреса от isp-dhcp, ifplugd тут не причём!) интерфейс, на который подключен его кабель, продолжал запрашивать IP-адрес у DHCP от isp-dhcp
/etc/conf.d/net
) отследить ситуацию, когда будут перевоткнуты кабели от isp-dhcp в nic-2, а isp-static в nic-1, так, чтобы:
»
- Для комментирования войдите или зарегистрируйтесь
Предварительные исследования
Можно было-бы использовать
fallback_IFVAR
, например в таком духе:Но тут возникают следующие нюансы при использовании
fallback_
:Правила PRDB (
fallback_rules_
) не прописываются. Т.е. не решается вопрос №1.Т.е. два интерфейса с одним IP-адресом. Решение вопроса №2 приобретает новые краски.
fallback_
не запускает функциюfailup()
. Всё проходит черезpostup()
. И не известно как сюда (вpostup()
) попали: поconfig_IFVAR
или поfallback_IFVAR
?postup())
.Или узнать о том, что никакая информация не была предоставлена клиентом DHCP.
С одной стороны уже имеем поднятый интерфейс на isp-static. С другой - как заставить "не поднятый" интерфейс продолжать "долбить" isp-dhcp?