lol1990lol
написал 10 марта 2012 года в 23:49 (7532 просмотра)
Ведет себя
неопределенно; открыл 1 тему в форуме, оставил 7 комментариев на сайте.
Я совсем новичок
os: fedora 16
2 провайдера:
1 — pppoe с именем и паролем сетевой ip 10.7.28.121 маска 255.255.255.0 осн. шлюз 10.7.28.1 dns 10.3.3.1; 10.3.3.2 внешний ip динамический
2 — dhcp внешний ip динамический поднимается автоматически
Нужно чтобы они работали вместе и пакеты приходящие через первый интерфейс, уходили через него же. Второй интерфейс соответственно.
Нужна помощь.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
А бокс форвардит трафик или нет? Какой из каналов должен использовать сам бокс?
Не важно, на машине будет hlds главное чтобы на оба ip люди могли коннектиться
help plz
Ну сначала как это делается. Нам надо каким-либо образом различить пакеты от одного подключения от другого. Притом, сделать это надо как можно раньше, еще по первого принятия решения о маршрутизации (см картинку из iptables tutorial). перед первым принятием решения о маршрутизации пакет проходит 2 цепочки — PREROUTING из таблиц mangle и nat. Поскольку таблицу nat не рекомендуют использовать для любых задач, кроме трансляции адресов, будем использовать таблицу mangle. Итак, нам требуется пометить соединение к которому принадлежит первый пакет и, согласно метки соединения, маркировать все последующие пакеты ему принадлежащие. Для этого служит расширение iptables CONNMARK. Итак:
iptables -t mangle -A PREROUTING -i ppp0 -m state --state NEW -j CONNMARK --set-mark 0×1 , где ppp0 — интерфейс pppoe подключения
далее, восстанавливаем метку для пакетиков из метки соединения:
iptables -t mangle -A PREROUTING -j CONNMARK --restore
iptables -t mangle -A OUTPUT -j CONNMARK --restore —— насчет этого правила сомневаюсь в его необходимости. По крайней мере в Вашем случае и том конфиге, что создаем, пользоваться не будет. Но лишним оно не станет…
Итак, все пакеты, что пришли по pppoe теперь отмечены меткой 0×1. При этом, такой-же меткой будут отмечаться и пакеты, которые генерятся самим боксом по признаку принадлежности к соединению. Далее, с помощью iproute2 выбираем для пакетов разные таблицы маршрутизации.
сначала для удобства создадим в /etc/iproute2/rt_tables запись о новой таблице маршрутизации. Это не необходимая мера, Вы можете обращаться к таблице по номеру, но так аккуратней и после этого можно будет обращаться к таблице по «названию». Добавим в выше озвученный файл нечто такое (в начало)
201 pppoe
название может быть и gorshok, в общем выбирается произвольно.
Заполняем таблицу. Заполнять надо с помощью утилиты ip. В таблицу надо добавить все Ваши локальные роуты и дефолтный от pppoe соединения. Как это сделать… Чесн, никогда не пользовался pppoe (да! я счастливый человек!) и вразумительного сказать ничего не могу…
в общем обязательно там должно быть нечто
ip route add default via 10.7.28.1 dev ppp0 table pppoe
Теперь заставим все пакеты с меткой 0×1 использовать таблицу маршрутизации pppoe(201):
ip rule add fwmark 1 table pppoe
Собственно с этого момента должно работать. Вопрос в следующем. Когда я делал подобное у себя, у меня были статические адреса. И иногда получалось так, что… был выставлен неправильный входящий интерфейс и мне приходилось в первом правиле iptables использовать совпадение не по входящему интерфейсу, а по ip-адресу назначения. Если не получится — обращайтесь, додебажим :D
ок) пасиба
Так не бывает.
В смысле, бывает конечно всякое, но не так, как описываешь ты.
Попытками одновременной работы с двумя провайдерами, как правило, решают одну из следующих задач (и соответственно, сталкиваются с проблемами):
1. Отказоустойчивость канала:
а) обеспечение доступности извне какого-то внутреннего сервиса при отключении одного из провайдеров;
б) обеспечение доступности Интернет для пользователей/серверов локальной сети при отключении одного из провайдеров.
И/ИЛИ
2) балансировка нагрузки канала (трафик от одних пользователей/серверов пускают через одного провайдера, трафик остальных — через другого).
Под 1.а. твой случай не попадает, посокльку внешние адреса динамические (при динамике внешних адресов 1.а попросту бессмысленен).
В контексте попадания под случаи 1.б и 2 смущает слово «приходящие» во фразе «Нужно чтобы они работали вместе и пакеты приходящие через первый интерфейс, уходили через него же».
Так какую конкретно задачу пытаешься решить ты? Что при этом пробовал делать и что конкретно не получилось?
Для hlds доступ из внутренней сети закрыт администрацией, поэтому внутрисетевые клиенты коннектятся через внешний динамический IP 1-го рповайдера
Задача — hlds на 2 провайдера. Не получилось из-за незнания.
А если 2 dhc p то какая будет таблица? И 2 клиента no-ip Это возможно?
Так как IP динамические (оба), думаю надо сделать 2 клиента NO-IP ( O_O) только как?????
lol1990lol, а сервак то теперь доступен по обоим адресам? Просто давно пытался такое сделать и как-то не взлетело.