0
- 07.02.2014 - 11:05
|
Ситуация: Автоматом поднимаются два подключения pppoe через разные eth интерфейсы к одному провайдеру(бывает так, что шлюз одинаковый!) Задача: Необходимо иметь доступ к машине одновременно по двум внешним подключениям и из локалки в интернет. И так же не терять выход в интернет, если одно из подключений отвалилось. Сейчас оба подключения забирают на себя одеяло при подключении. В итоге работает только одно, то что подключилось последним и стало шлюзом по умолчанию, если его отключить работает первое. Пробовал маркировать в iptables и рулить через таблицы, но что-то не получилось. Можно как то дебажить маркирование пакетов и работу правил? Так же не понимаю как разрулить если шлюз одинаковый, переподключаться пока они не станут разные? =). Хотел бы получить возможные варианты реализации и чем подробнее тем лучше =) | |
1
- 07.02.2014 - 11:45
| сколько платишь? | |
3
- 07.02.2014 - 22:31
| давай так. настраиваем подключение, а за фаервол отдельно платишь. | |
4
- 08.02.2014 - 00:29
|
Набросал такое скрипт #!/bin/bash echo "1">/proc/sys/net/ipv4/ip_forward echo "0">/proc/sys/net/ipv4/conf/all/rp_filter iptables -t nat -F iptables -t filter -F iptables -t mangle -F ip rule delete table dsl1 ip rule delete table dsl2 ip route delete table dsl1 ip route delete table dsl2 iptables -t mangle -A PREROUTING -i ppp0 -j MARK --set-mark 0x1111 iptables -t mangle -A PREROUTING -i ppp1 -j MARK --set-mark 0x2222 ip rule add fwmark 0x1111 table dsl1 ip rule add fwmark 0x2222 table dsl2 ip route add 0.0.0.0/0 dev ppp0 table dsl1 ip route add 0.0.0.0/0 dev ppp1 table dsl2 ip route flush cache Но вот чето не работает. 2-droidman > судя по статистике пакеты маркируются, но не ходят куда надо. | |
5
- 09.02.2014 - 23:31
|
Не хватало маршрута по умолчанию в таблице ip route add default via $P0 table dsl1 | |
6
- 10.02.2014 - 00:52
|
чета не вкурил как оно у вас заработало.... у вас же mark вроде маркирует просто пакет входящий, откуда ответ знает как лететь, а не просто по порядку по таблицам маршрутизации шлындрает ? и насчет балансировки изнутри на "новые адреса" как-то сомнительно... | |
7
- 10.02.2014 - 12:31
| таблицы есть в /etc/iproute2/rt_tables ?) | |
8
- 10.02.2014 - 15:34
|
так это...мож всеже заменить Код: iptables -t mangle -A PREROUTING -i ppp0 -j MARK --set-mark 0x1111 iptables -t mangle -A PREROUTING -i ppp1 -j MARK --set-mark 0x2222 Код: iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark iptables -t mangle -A PREROUTING -i ppp0 -j CONNMARK --set-mark 0x1111 iptables -A PREROUTING -t mangle --match mark --mark 0x1111 -j ACCEPT iptables -t mangle -A PREROUTING -i ppp1 -j CONNMARK --set-mark 0x2222 iptables -A PREROUTING -t mangle --match mark --mark 0x2222 -j ACCEPT iptables -t mangle -A PREROUTING -j CONNMARK --save-mark | |
9
- 10.02.2014 - 15:41
|
просто марк имеет смысл когда для исходящих надо пустить в завис-и от чего-то например от сурса на нужный маршрут, а ответ и так прилетит куда надо ну на тот интерфейс с которого вылетело.... и ещё надо сбалансировать исходящий в вашем случае, а то оно все полетит одним линком... или я все таки не прально вкуриваю ? я просто практически почти не сталкивался с двумя линками и балансировкой, если было то почти всегда фейловер | |
10
- 10.02.2014 - 15:42
| 8-701054 >mrak=mark ))))))))) | |
11
- 12.02.2014 - 23:37
|
10-701054 > Мне не надо балансировать исходящий трафик, мне необходимо только иметь доступ по обоим каналам. Решил через скрипт в ip-up.d, который выставляет правило и маршрут для предыдущего активного подключения. ip rule add from $IPL1 table $TABLE1; ip route add default via $IPR1 table $TABLE1; ip rule delete table $TABLE2; ip route delete table $TABLE2; ip route flush cache; | |
| Интернет-форум Краснодарского края и Краснодара |