Я сейчас в безвыходном положении. Здесь у меня есть замечательная штука под названием Google, но мне не хватает ресурсов, которые позволят мне лучше реализовать мое основное желание.
Я управляю Интернетом для местной группы по интересам - той, где у нас есть три WAN-соединения бизнес-класса, которые проходят через PacketFilter на FreeBSD (блокируя все входящие соединения, кроме ранее установленных, и несколько избранных служб для удаленного администрирования - у меня есть приоритет очереди, настроенные для обеспечения быстрого HTTP / IMAP) и балансировка нагрузки для 27 пользователей, жаждущих полосы пропускания.
Я хочу упростить и сохранить непрерывность, но я не уверен, как настроить все так, чтобы мои пользователи могли делать то же самое, за исключением надежды на уменьшение головной боли NAT. Есть ли ресурс, который поможет мне быстрее понять, чем я хочу заниматься?
Похоже, в настоящий момент вы используете IPv4 NAT для множественной адресации по трем WAN-соединениям. На данный момент это один из наименее поддерживаемых вариантов использования IPv6, хотя в настоящее время разрабатываются некоторые проекты стандартов, которые несколько улучшат ситуацию. Однако придется пойти на компромисс.
Я предполагаю, что все три соединения проходят через разных провайдеров, и каждый назначил вам / 48 из своего собственного адресного пространства. Вероятно, лучший способ сделать это с помощью технологий, доступных сегодня, - это объявить все три префикса в локальной сети, чтобы у каждого хоста был адрес от каждого провайдера. Для автоматического переключения при отказе вы можете отслеживать каждую ссылку и устанавливать для соответствующего префикса предпочтительное время жизни равным нулю, когда соответствующая ссылка отключается. Вам нужно будет использовать исходную маршрутизацию на маршрутизаторе, чтобы соответствующие исходные адреса выходили на правильные ссылки.
Вы по-прежнему сможете применять очереди приоритетов для каждой ссылки ISP, но это переместит выбор ISP (эквивалентный выбору адреса источника здесь) с маршрутизатора на конечный хост. Вы можете повлиять на это с помощью таблицы RFC3484, хранящейся в /etc/gai.conf в системах Linux; не уверен, что эквивалентно другим ОС, но это должно быть настраиваемым. Существует черновик IETF (draft-fujisaki-6man-addr-select-opt-00) для распространения этой информации через DHCPv6.
Если вы также используете внутренние серверы, вы можете также использовать префикс уникальной локальной адресации (ULA) для внутренних целей и использовать адреса ULA во внутренней DNS. Таким образом, сбои интернет-провайдера не повлияют на внутреннюю связь.
Если вам важен контроль выбора ISP на маршрутизаторе, взгляните на черновики NAT66. Я не уверен, есть ли для них работающий код, но он обеспечивает такую же независимость от интернет-провайдера, как NAT44. Он нарушает сквозную адресацию, но поскольку он меняет только префиксы, он не имеет состояния и может поддерживать сквозное подключение, поэтому он немного менее вреден, чем v4 NAT.