первый звоночек прозвучал при старте madwimax -do: почему-то он
решительно присвоил себе метрику 0. Разумеется, она дефолтовая, но
идея плохая - тут же дохнет все, что висело на предыдущем роуте.
Назначить на старте метрику невозможно.
Отследить, проявилось ли устройство wimax0 нельзя - madwimax уже
отрапортовал о счастливом старте, а ifconfig wimax0 кажет дулю, ip
route show не показывает в таблицы добавления нового маршрута (не
отработал еще dhcpd)
Ладно, руками (ifmetric) прибиваем метрику 100 и далее
iptables -t mangle -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -
j MARK --set-mark 4
и далее
ip route flush table 4
ip route show table main | grep -Ev ^default \
> | while read ROUTE ; do
> ip route add table 4 $ROUTE
> done
ip route add table 4 default via heregoesyotaip
ip rule add from heregoesyotaip via 4
Перегружаем правила iptables, проверяем их -L цепочки. Вроде бы,
должно наступить счастье. Не наступает. пакеты в йоту уходят. Йота
лезет на тот же яндекс. но вот обратно ничего не отдает. то есть, в
дампе
-> SYN
-< SYN-ACK
и молчание. Повторяется трижды.
Ок, откатил правила в iptables, задачу решил через сквид, назначив
аутбаунд йотовский и пакеты зарулив в таблицу 4.
Выжимка:
1. нельзя ни назначить метрику, ни выяснить, в какой стадии находится
подключение мопеда к сети
2. попытка использовать fwmark с тресокм провалилась (contract есть,
сиходящие пакеты видны, tcpdump -i wimax0 показывает, что "туда"
пакеты уходят, RP_FILTER = 0, для чистоты эксперимента в скрипте
iptables оставил всего 5 правил: 3 на разрешение всего через INPUT,
OUTPUT, FORWARD, PREROUTING 80 порта и маскарадинг - не помогает )
3. Скрипт в /etc/wimax/event.sh не выполняется ((
Если я все сделал неправильно, то подскажите, если не сложно, как
именно пустить скрипт сразу после того, как wimax закончил
регистрироваться в сети и добавил свои маршруты в route
Спасибо за терпение ;)
1. на ядре 2.6.31-22-server правила udev не срабатывают. то есть,
вставив свисток, автоматического запуска madwimax не происходит
http://github.com/ago/madwimax/commit/a6f1d42b26f939f0bea3dedf269d9251b1fb097e
пока не пробовал
2. Если свисток теряет связь (антена глюканула, вышку ребутнули), то
происходит подключение заново и ... таблица маршрутизации опять
обновляется, опять метрика 0, опять все улетает в свисток и все
сервисы лежат.
Такие вещи, как запуск ifmetric и тд нужно делать в скрипте event.sh.
Других нормальных вариантов нет.
В Thu, 22 Jul 2010 05:11:58 -0700 (PDT)
Shubert <alex.s...@gmail.com> пишет:
Проблема именно в этом.
> Если я все сделал неправильно, то подскажите, если не сложно, как
> именно пустить скрипт сразу после того, как wimax закончил
> регистрироваться в сети и добавил свои маршруты в route
Должно само пускаться. Если нет, значит вы как-то неправильно
собрали/установили.
Причин может быть много разных. Например, не выставлен бит разрешения
выполнения.
--
Alexander