Решено: Проблема с Iptables для доступа к VPN c другого компьютера

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
VyacheslavS
Сообщения: 8

Решено: Проблема с Iptables для доступа к VPN c другого компьютера

Сообщение VyacheslavS »

Помогите решить проблему с Iptables для доступа к VPN c другого компьютера!

Конфигурация моей сети такая: wlan0 и eth1 объединены в мост br0 (192.168.0.1 - раздаёт интернет ), eth0 - смотрит во внешнюю сеть (109.Х.Х.Х).
Все вроде работало отлично, трафик пропускался отлично.
Но вчера нужно было с клиента соединиться с удаленным компьютером по VPN.
Те правила, что работали:

Код: Выделить всё

 /sbin/iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmt
 /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

не пропустили меня c клиента по VPN.
Взял скрипт из Wiki:

Код: Выделить всё

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

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

# Lan (поменяйте на ваш интерфейс сетевого моста)
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


Эти правила позволили трафик по VPN, но только если комп на Linux и присоединен по кабелю к раздающей машине.
Хотелось бы возможеность пропуска трафика при подключении по wlan и не понятно почему если комп с Виндой по тому же кабелю не может войти в VPN.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: Проблема с Iptables для доступа к VPN c другого компьютера

Сообщение sash-kan »

VyacheslavS писал(а):
07.04.2010 07:49
VPN
что вы под этим подразумеваете? virtual private network — просто общее понятие о логической организации, но никак не о конкретной физической реализации. реализаций существует много и отличаются они принципиально.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
VyacheslavS
Сообщения: 8

Re: Решено: Проблема с Iptables для доступа к VPN c другого компьютера

Сообщение VyacheslavS »

Какие данные нужны?
У меня на данный момент есть следующее:
проверка подлинности - MS CHAP V2
шифрование - MPPE 128
сжатие - нет
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: Проблема с Iptables для доступа к VPN c другого компьютера

Сообщение sash-kan »

VyacheslavS писал(а):
08.04.2010 08:30
CHAP
понятно. pptp

VyacheslavS писал(а):
07.04.2010 07:49
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
оставьте только это правило и посмотрите, как ходят пакеты по обоим интерфейсам. критерий отбора — порт 1723.
$ sudo tshark -pni br0 port 1723
и
$ sudo tshark -pni eth0 port 1723
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
VyacheslavS
Сообщения: 8

Re: Решено: Проблема с Iptables для доступа к VPN c другого компьютера

Сообщение VyacheslavS »

Вобщем правила оказались правильные, пакеты пропускаются.
Дело в сервере VPN, который хранит сессии определенное время (~30-40 мин.), из-за чего я не мог соединятся до истечении этого времени с тем же логином, паролем, но с другим mac адресом и ip.
Спасибо сказали: