Ребят, срочно нужна помощь.
Имеется 4 сети (1 реальный ифейс, 3 виртуальных):
192.168.1.0/24, 192.168.2.0/24, 10.0.0.0/24, 192.168.4.0/24
Имеются 2 вида подключения к интернет, для каждого свой набор правил iptables (идентичных):
1. ADSL Земля (earth_only_prostor.conf)
2. ADSL Земля + Спутник по OpenVPN (earth_and_sat.conf)
Трафик раздаётся через NAT (+squid).
1 вариант работает без нареканий. А вот со вторым проблема...
И проблема именно в настройах iptables (скорее всего во 2 наборе, но не исключаю и 1).
Если отключить файрволл, то всё заводится без проблем. Поднимается OpenVPN, трафик ходит через него, по iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE трафик раздаётся в сеть.
Но требуется работа OpenVPN именно с существующим набором правил (естественно, с необходимыми изменениями). Текущее положение дел таково, что как только делаешь iptables-restore /etc/iptables/earth_and_sat.conf, трафик незамедлительно ходить перестаёт. В этом наборе открыт доступ для входящих и исходящих соединений с OpenVPN-сервером по udp (и на всякий случай tcp) порту 55909. Но это не спасает.
Может быть OpenVPN вешается не на tap0 (спутник), а на eth0 (земля)? И тогда нужно каким-то образом разрешить ещё и трафик eth0?
Помогите, пожалуйста, разобраться.
Заранее благодарю всех отписавшихся.
Здесь находится архив со всеми необходимыми конфигами сервера (там же настройки сетевых интерфейсов и выводы route для земли и для спутника): http://www.kmtn.ru/~garret/files/inetgate/...nf070508.tar.gz [204 kb]
Пропустить OpenVPN через IpTables
Модераторы: SLEDopit, Модераторы разделов
-
Гаррет
- Сообщения: 7
- ОС: Debian Etch + OpenSuse 10.3
Пропустить OpenVPN через IpTables
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
McLeod095
- Сообщения: 477
- ОС: Люблю слаку
Re: Пропустить OpenVPN через IpTables
В этом вопросе со спутником ни разу не работал и не занимался.
Но есть один вопрос.
Посмотрел правила.
Ничего толком не понял, да и долго разбираться.
Но что то я не увидел что бы на внешнем интерфейсе был открыт управляющий порт для openvpn, как я понял это порт 55909. хотя правило есть одно для всех интерфейсов.
Просто плохо понял структуру. Как организовано. что смотрит в инет, что в локалку. какие где интерфейсы.
А так мой опфт подсказывает что надо открыть все, и только потом начинать добавлять правила фаера. что бы точно отловить что да как. после этого уже можно всякие добавлять возможности защиты от флуда и т.п.
Но есть один вопрос.
Посмотрел правила.
Ничего толком не понял, да и долго разбираться.
Но что то я не увидел что бы на внешнем интерфейсе был открыт управляющий порт для openvpn, как я понял это порт 55909. хотя правило есть одно для всех интерфейсов.
Просто плохо понял структуру. Как организовано. что смотрит в инет, что в локалку. какие где интерфейсы.
А так мой опфт подсказывает что надо открыть все, и только потом начинать добавлять правила фаера. что бы точно отловить что да как. после этого уже можно всякие добавлять возможности защиты от флуда и т.п.
"Work PC" E6750/2GB/Asus P5B Deluxe/2x250GB/6600GT 128/Slackware Current (Win 2003 in VmWare)
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
-
Гаррет
- Сообщения: 7
- ОС: Debian Etch + OpenSuse 10.3
Re: Пропустить OpenVPN через IpTables
Но что то я не увидел что бы на внешнем интерфейсе был открыт управляющий порт для openvpn, как я понял это порт 55909. хотя правило есть одно для всех интерфейсов.
А разве нужно прописать конкретный интерфейс?
Код: Выделить всё
-A OUTPUT -p udp --dport 55909 -j ACCEPT
-A OUTPUT -p tcp --dport 55909 -j ACCEPTЭтого не достаточно?
Как мне наверняка прописать, чтобы 55909 порт был открыт на интерфейсах eth0 и tap0 в обе стороны? Можно в ущерб безопасности. Сейчас важно чтобы оно заработало. Тогда можно будет понять причину.
eth1 - локалка (в одну сетевуху включены 4 сетки 192.168.1.0/24, 192.168.2.0/24, 10.0.0.0/24, 192.168.4.0/24).
eth0 - adsl (простор-телеком).
dvb0_0 - dvb карта.
tap0 - туннель OpenVPN (tap0 = eth0 + dvb0_0) - в этом случае eth0 - исходящий, dvb0_0 - входящий (это рулится через route). Можно посмотреть в srvconf070508/root/route_sat.