vpn, iptables, cbq

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

vpn, iptables, cbq

Сообщение Ztux »

В теории схема вот такая:

DHCP с адресом 192,168,14,1 раздает адреса с 192,168,14,100 по 192,168,14,200
VPN с адресом 192,168,14,1 предназначен для аутентификации.
iptables - для маскарадинга, шлюза и ограничения доступа по поратм
cbq - для ограничения пропускной способности канала и разделения его по времени


Проблема:

eth1 - смотрит в локаль
eth0 - в инет
ppp0 - это клиент, зашедший через vpn

VPN-соединение не дает инет на локальные пк.
Должно было помочь iptables
Сейчас работает таким вот образом:

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

# Generated by iptaues-save v1.3.3 on Wed May 24 19:07:19 2006
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:outtos - [0:0]
:pretos - [0:0]
-A PREROUTING -j pretos
-A OUTPUT -j outtos
-A outtos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10
-A outtos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10
-A outtos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10
-A outtos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10
-A outtos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08
-A outtos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08
-A pretos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10
-A pretos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10
-A pretos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10
-A pretos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10
-A pretos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08
-A pretos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08
COMMIT
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# -A POSTROUTING -o ppp0 -j SNAT --to-source 192.168.14.1


COMMIT
# Completed on Sat Apr 26 13:03:17 2003
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i ppp0 -p tcp --dport 3128 -j ACCEPT
# -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# -A INPUT -i eth0 -p tcp -m multiport --dports 21,25,80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable


# -A FORWARD -s 192.168.14.1/24 -p icmp -i ppp0 -j ACCEPT
# -A FORWARD -d 192.168.14.1/24 -p icmp -o ppp0 -j ACCEPT
# -A FORWARD -s 192.168.14.1/24 -p udp -m udp --dport 53 -i ppp0 -j ACCEPT
# -A FORWARD -d 192.168.14.1/24 -p udp -m udp --sport 53 -o ppp0 -j ACCEPT
# -A FORWARD -s 192.168.14.1/24 -p tcp -m multiport --dports 25,110 -i ppp0 -j ACCEPT
# -A FORWARD -d 192.168.14.1/24 -p tcp -m multiport --dports 25,110 -o ppp0 -j ACCEPT
# -A FORWARD -p ! icmp -m state --state INVALID -j DROP
# -A FORWARD -p ! icmp -m state --state INVALID -j DROP


-A FORWARD -o eth0 -j DROP
-A FORWARD -i eth0 -j DROP
-A FORWARD -o eth+ -j DROP
-A FORWARD -i eth+ -j DROP
-A FORWARD -o ppp+ -j DROP
-A FORWARD -i ppp+ -j DROP
COMMIT
# Completed on Sat Apr 26 13:03:17 2003
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
alternativshik
Сообщения: 154
ОС: Debian Lenny/Sid

Re: vpn, iptables, cbq

Сообщение alternativshik »

А в чем, собственно, вопрос??? Работает же???
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: vpn, iptables, cbq

Сообщение Ztux »

VPN-соединение не дает инет на локальные пк.


вот это и есть трабл.
плюс - проследить ход мысли - правильно ли я двигаюсь(имхо что правильно, естественно)))
зы
я так понимаю, что по идее - достаточно только прописать в впн локальную и создать пользователя,
а чтоб инет у него был - сделать нат на эту сеть.
пробовал вот так:

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

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
iptables --flush
iptables --delete-chain
iptables --table nat --flush
iptables --table nat --delete-chain
iptables -P FORWARD ACCEPT
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables --table nat --append POSTROUTING --out-interface  eth0 -j MASQUERADE
echo vpn firewall loaded OK.


не работает.... жду мысль))

вот это пока вопросы - кто может помочь, тому обязуюсь ежедневно читать мантру "да ниспошлют на вас небеса бочку хинеса")))
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: vpn, iptables, cbq

Сообщение Ztux »

что-то намудрил - теперь вот:

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

#iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


по-прежнему не работает :g:
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: vpn, iptables, cbq

Сообщение Ztux »

Теперь иптаблес выдает:

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

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     gre  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pptp

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
LOG        all  --  anywhere             anywhere            LOG level warning

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     gre  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pptp


В виндосовских машинах, в vpn подключении, в качестве сервера ("шлюза") указан внешний адрес сервера.
(согласно http://ylsoftware.com/?action=news&na=...7&from=rss)

Зы
Все равно не пашет :scratch:
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
alternativshik
Сообщения: 154
ОС: Debian Lenny/Sid

Re: vpn, iptables, cbq

Сообщение alternativshik »

Так - вот в конце вроде вариант с iptables правильный - FORWARD - ACCEPT,
так работает у меня - $IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE - eth0 - смотрит в инет
ДНС какой прописываешь???
Спасибо сказали:
expdot
Сообщения: 176
ОС: Fedora 13, Win Vista

Re: vpn, iptables, cbq

Сообщение expdot »

Ztux, дело в том что в вашем случае с snat нужно подставлять ip полученный vpn клиентом.
т.к. он динамический, нужно использовать маскарадинг, как выше уже написал alternativshik
будет так:
IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE - eth0

днс на клиентах нужно прописать тот, который дал провайдер
или на раздающей машине поднять днс сервер и на клиенте ставить его ip аддрес в качестве днс сервера
Спасибо сказали:
alternativshik
Сообщения: 154
ОС: Debian Lenny/Sid

Re: vpn, iptables, cbq

Сообщение alternativshik »

expdot писал(а):
07.10.2008 20:23
Ztux, дело в том что в вашем случае с snat нужно подставлять ip полученный vpn клиентом.
т.к. он динамический, нужно использовать маскарадинг, как выше уже написал alternativshik
будет так:
IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE - eth0

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

Вставлю свои 5 копеек по поводу днс - можно поставить dnsmasq и не парится с днс сервером, он автоматом возьмет адреса из resolv.conf

IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE - eth0
у меня работает без ppp0, a eth0 смотрит в инет, и транслируется на все интерфесы:
IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: vpn, iptables, cbq

Сообщение Ztux »

Спасибо всем неравнодушным и откликнувшимся = пойду проверять, что получиться))
Еще раз спасибо -чувствую, что скоро отпишусь))
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали: