Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

yah

iptables обрывает xl2tpd

Рекомендованные сообщения

Привет.

Настроил iptables, но при запуске правил обрывается xl2tpd. По логам видно, что сервак не может достучаться до впн-сервера (tp.internet.beeline.ru), при этом пинги до локального шлюза идут.. Поэтому вопрос - как настроить iptables, чтобы он не обрывал xl2tpd?

 

Правила iptables: http://pastebin.com/q6Mb9x0j

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Привет.

Настроил iptables, но при запуске правил обрывается xl2tpd. По логам видно, что сервак не может достучаться до впн-сервера (tp.internet.beeline.ru), при этом пинги до локального шлюза идут.. Поэтому вопрос - как настроить iptables, чтобы он не обрывал xl2tpd?

 

Правила iptables: http://pastebin.com/q6Mb9x0j

 

сначала правила а потом уже запуск xl2tpd

 

у вас там в правилах идет первыми строками запретить весь входящий трафик 112-120 строка

гдето там

 

 

вообще очень замудреный конфиг у вас там до невозможности, какойто супергуру видать ковырял его

вообще надо быть проще

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

сначала правила а потом уже запуск xl2tpd

 

у вас там в правилах идет первыми строками запретить весь входящий трафик 112-120 строка

гдето там

 

 

вообще очень замудреный конфиг у вас там до невозможности, какойто супергуру видать ковырял его

вообще надо быть проще

 

та же проблема, но скрипт проще

 

[#! /bin/sh
#
#######################
# Настройка интерфейсов
#######################

# Internet (Поменяйте на ваш интернет-интерфейс)
Inet_Interface="eth0"

# Lan (мост из eth1 и wlan0)
Lan_Interface="br0"

# Lo (локальный интефейс - петля)
Lo_Interface="lo"

# Описываем путь до iptables
IPT="/sbin/iptables"

# Очищаем текущие правила (если вдруг есть какие-то правила)

$IPT -F
$IPT -t nat -F
$IPT -t mangle -F

$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Задаем политики по умолчанию

$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP

# Создаем цепочку для обработки неправильных пакетов.
# bad_packets

$IPT -N bad_packets

$IPT -A bad_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
$IPT -A bad_packets -p tcp ! --syn -m state --state NEW \
-j LOG --log-prefix "New not syn:"
$IPT -A bad_packets -p tcp ! --syn -m state --state NEW -j DROP

# Создаем цепочку для обработки входящих (из интернета) tcp соединений.
# tcp_p
$IPT -N tcp_p

# Чтобы, разрешить подключаться к нашему шлюзу из интернета по ssh:
ssh="22"
ssh_ip_allowed="0/0"
$IPT -A tcp_p -p tcp -s $ssh_ip_allowed --dport $ssh -j ACCEPT

$IPT -A tcp_p -p tcp -s 0/0 -j DROP

# Создаем цепочку для обработки входящих (из интернета) udp соединений.
# udp_p
$IPT -N udp_p

$IPT -A udp_p -p udp -s 0/0 -j DROP

# Создаем цепочку для обработки входящих (из интернета) icmp соединений.
# icmp_p
$IPT -N icmp_p

# Разрешаем "пинговать" наш шлюз из интернета:

$IPT -A icmp_p -p icmp -s 0/0 --icmp-type 8 -j ACCEPT
$IPT -A icmp_p -p icmp -s 0/0 --icmp-type 11 -j ACCEPT

$IPT -A icmp_p -p icmp -s 0/0 -j DROP

# Цепочка INPUT

$IPT -A INPUT -p tcp -j bad_packets

$IPT -A INPUT -p all -i $Lan_Interface -j ACCEPT
$IPT -A INPUT -p all -i $Lo_Interface -j ACCEPT

$IPT -A INPUT -p all -i $Inet_Interface -m state --state \
ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp -i $Inet_Interface -j tcp_p
$IPT -A INPUT -p udp -i $Inet_Interface -j udp_p
$IPT -A INPUT -p icmp -i $Inet_Interface -j icmp_p

# Цепочка FORWARD

$IPT -A FORWARD -p tcp -j bad_packets

$IPT -A FORWARD -p all -i $Lan_Interface -j ACCEPT
$IPT -A FORWARD -p all -i $Lo_Interface -j ACCEPT
$IPT -A FORWARD -p all -i $Inet_Interface -m state \
--state ESTABLISHED,RELATED -j ACCEPT

# Цепочка OUTPUT

$IPT -A OUTPUT -p tcp -j bad_packets

$IPT -A OUTPUT -p all -o $Inet_Interface -j ACCEPT
$IPT -A OUTPUT -p all -o $Lan_Interface -j ACCEPT
$IPT -A OUTPUT -p all -o $Lo_Interface -j ACCEPT

# Цепочка POSTROUTING (таблица nat)

$IPT -t nat -A POSTROUTING -o $Inet_Interface -j MASQUERADE

# Включаем перенаправление ipv4.

echo "1" > /proc/sys/net/ipv4/ip_forward

echo "Firewall started"

exit 0

 

он стартует при поднятии eth0

 

при поднятии ppp0 стартует другой скрипт

 


iptables -t nat -D POSTROUTING -o $PHYS_IFACE -j MASQUERADE 2>/dev/null
               iptables -t nat -D POSTROUTING -o $PARAM_1 -j MASQUERADE 2>/dev/null
               iptables -D FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 2>/dev/null
               iptables -t nat -A POSTROUTING -o $PHYS_IFACE -j MASQUERADE
               iptables -t nat -I POSTROUTING -o $PARAM_1 -j MASQUERADE
               iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

 

однако ничего нормлаьно не работает, опытным путем выяснено что не открыт какойто порт или чтото блокируется, ибо если закоментить из 1го скрипта в начале

 

# Задаем политики по умолчанию

$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP

 

все хорошо, правда толку от iptables как от огнестенки 0.

 

 

 

 

что надо разлочить чтобы xl2tpd нормально ходил и поднимал тоннель, или хотябы как смотреть что мешает поднятию и что iptables зарубил?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

та же проблема, но скрипт проще

 

что надо разлочить чтобы xl2tpd нормально ходил и поднимал тоннель, или хотябы как смотреть что мешает поднятию и что iptables зарубил?

Разрешите входящий/исходящий трафик к серверам tp.internet.beeline.ru

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а список серверов можно узнать, а то адрес на tp.internet.beeline.ru меняется каждые 10 минут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Город какой?

Нашел, Ульяновск...

Ответил в личку

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
..

 

VPN_SERVER=IP впн сервера или подсеть

 

WAN_BEELINE='eth0'

 

 

 

/sbin/iptables -A OUTPUT -s $VPN_SERVER -o $WAN_BEELINE -j ACCEPT

 

...

 

 

Правильно?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Правильней лучше:

$IPT -A OUTPUT -d $VPN_SERVER -j ACCEPT

$IPT -A INPUT -s $VPN_SERVER -j ACCEPT

 

Интерфейсы лучше не использовать, ибо трафик до самих серверов будет идти же через $WAN_BEELINE

 

В синтаксисе команды могу ошибаться :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах