|
|
Знаете ли Вы, что ... | |
...инструкция по установке аватара описана в Правилах форума. | |
<< Предыдущий совет - Случайный совет - Следующий совет >> |
ЦППМП Центр подготовки и поддержки молодых программистов (cppmp.uz). Еще разделы на форуме: Doppix |
Ответить |
|
Опции темы | Опции просмотра |
27.06.2008 21:23 | #22 |
если нет возможности реализовать динамическую маршрутизацию (osfp/bgp), но требуется, чтобы при одном варианте - пакеты ходили через одно направлление (напрямую в TAS-IX), а в другом случае (когда прямой линк в TAS-IX отваливается), ходили по другому направлению - тут помогут только скрипты.
например у вас две таблицы маршрутизации: таблица 160 - TAS-IX таблица 161 - VPN МинВУЗ соотв, дефолтовая таблица (main) - это инет канал. Итак, eth0 - к примеру ваша локалка: 192.168.0.0/24, eth1 - это инет, допустим там IP: 10.10.1.2/30, на eth2 10.10.2.2/30 и на eth3 10.10.3.2/30 Соотв. шлюзы для них 10.10.1.1, 10.10.2.1 и 10.10.3.1. получаем след. таблицу маршрутизации: main: 192.168.0.0/24 dev eth0 kernel scope link src 192.168.0.1 10.10.1.0/30 dev eth1 kernel scope link src 10.10.1.2 10.10.2.0/30 dev eth2 kernel scope link src 10.10.2.2 10.10.3.0/30 dev eth3 kernel scope link src 10.10.3.2 default via 10.10.1.1 dev eth1 src 10.10.1.2 160: 192.168.0.0/24 dev eth0 kernel scope link src 192.168.0.1 10.10.1.0/30 dev eth1 kernel scope link src 10.10.1.2 10.10.2.0/30 dev eth2 kernel scope link src 10.10.2.2 10.10.3.0/30 dev eth3 kernel scope link src 10.10.3.2 default via 10.10.2.1 dev eth1 src 10.10.2.2 161: 192.168.0.0/24 dev eth0 kernel scope link src 192.168.0.1 10.10.1.0/30 dev eth1 kernel scope link src 10.10.1.2 10.10.2.0/30 dev eth2 kernel scope link src 10.10.2.2 10.10.3.0/30 dev eth3 kernel scope link src 10.10.3.2 default via 10.10.3.1 dev eth1 src 10.10.3.2 Теперь устанавливаем правила: ip rule add fwmark 0xa0 table 160 ip rule add fwmark 0xa1 table 161 fwmark - означает firewall mark - т.е. маркируем пакеты, с помощью файрвола, а затем они срабатывают в правилах iproute2, соотв. отправляя промаркированные пакеты либо в таблицу 160 (где по умолчанию всё прёт в TAS-IX), либо в 161ю таблицу.
__________________
нет ничего реального... -) |
|
|
Ответить |
27.06.2008 21:42 | #23 |
Терь разберёмся с файрволом.
Создаём скрипт, ктрый будет указывать, что надо идти через TAS-IX: #!/bin/bash iptables -t mangle -A PREROUTING -d 80.80.208.0/20 -j MARK --set-mark 0xa0 iptables -t mangle -A PREROUTING -d 89.236.192.0/18 -j MARK --set-mark 0xa0 ... Далее - МинВУЗ: #!/bin/bash iptables -t mangle -A PREROUTING -d 89.236.205.0/28 -j MARK --set-mark 0xa1 Теперь, чтобы всё заработало, надо обнулись таблицу mangle: iptables -t mangle -F И последовательно запустить скрипты: 1. СНАЧАЛА МинВУЗовский скрипт, т.к. он содержит айпи-сети, ктрые так и так входят в TAS-IX 2. ЗАТЕМ скрипт TAS-IX Далее какой-нибудь скрипт (может быть и Nagios или даже FPinger (если сможете его настроить так, чтобы заходил удалённо и запускал команду)), наблюдает, отвалилось ли что-то. Алгоритм действий прост: 1. Отвалился МинВУЗ, всё остальное работает: а) обнуляем таблицу mangle б) запускаем скрипт TAS-IX 2. МинВУЗ работает, отвалился TAS-IX: а) обнуляем таблицу mangle б) запускаем скрипт МинВУЗ 3. Отвалился и МинВУЗ и TAS-IX: а) обнуляем таблицу mangle Заработало всё: а) обнуляем таблицу mangle б) запускаем скрипт МинВУЗ в) запускаем скрипт TAS-IX Т.е. возвращаем всё в исходное положение )
__________________
нет ничего реального... -) |
|
|
Ответить |
27.06.2008 21:52 | #25 |
P.S. Сорри, перечитал ещё раз, и понял, что забыл:
1. Т.к. у Вас в локалке - невалидные айпишники, надо их натить: # Натим под интернетовский айпи iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to 10.10.1.2 # TAS-IX iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j SNAT --to 10.10.2.2 # МинВУЗ iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth3 -j SNAT --to 10.10.3.2 Далее, чтобы с самого сервера, работало всё точно по такой же схеме, надо в таблице mangle, в цепочке OUTPUT указывать соотв. правила. В скрипте TAS-IX: iptables -t mangle -A OUTPUT -d 80.80.208.0/20 -p tcp --sport ! 80 -j MARK --set-mark 0xa0 iptables -t mangle -A OUTPUT -d 89.236.192.0/18 -p tcp --sport ! 80 -j MARK --set-mark 0xa0 ... В скрипте МинВУЗ: iptables -t mangle -A PREROUTING -d 89.236.205.0/28 -p tcp --sport ! 80 -j MARK --set-mark 0xa1 Записью -p tcp --sport ! 80 - мы сразу убиваем второго зайца - даём возможность веб-серверу всегда отвечать через инет канал, т.е. через дефолтовый линк. Т.е. все пакеты, на МинВУЗ и Ташикс, КРОМЕ тех пакетов, ктрые tcp и идут с 80го порта именно этого сервака (т.е. кроме тех, от веб-сервера ктрые идут), отправлять соотв в таблицу МинВУЗ и TAS-IX.
__________________
нет ничего реального... -) |
|
|
Ответить |
27.06.2008 22:10 | #26 |
На счёт nexthop - проблема в том, что физически eth2 падать не будет, т.к. наверняка к нему подрублен ADSL модем или ещё что-то. Т.е. просто линк на модеме отвалится и всё, и пакеты перестанут доходить до шлюза и всё. При этом сработает ли nexthop на пакет ICMP host/net unreachable (если он и прийдёт откуда-то) - тоже вопрос, честно гря я не помню, уже года три сижу на цисках и динамике. Да и насколько я помню - как то подозрительно себя вёл этот nexthop, мы, в ТПСе с него всё таки к скриптам и ушли, тем более балансировал каналы он плохо, за щёт того, что "routes are cached. This means that routes to often-used sites will always be over the same provider". Поэтому было проще блоками IP-сетей балансировку делать.
__________________
нет ничего реального... -) |
|
|
Ответить |
16.12.2008 03:57 | #27 | |||
sam
admin
Сообщений: 79
+ 15
14/9
– 0
0/0
|
Цитата:
|
|||
|
Ответить |
|