И снова VPN+NAT (Виснет комп)

SLAX, Deep Style, ZenWalk

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

FireWall
Сообщения: 10

И снова VPN+NAT

Сообщение FireWall »

День добрый.

Есть проблемка с которой мучаюсь долго но никак не могу побороть…

Цель: поставить дома VPN сервер, чтоб с работы удачно юзать lineage(рубят админы его).
Имеется: Мать P5B со встроенной сетевой, Slackware 11, kernel 2.6.20 собрано с поддержкой iptables(в общем правильно иль нет, но я включил все что касается фильтров nat’а и т.п, т.к. нет времени пока разобраться что мне надо, а что нет), сетевая 1, IP статичный от одной из сетей Томска.

Для началу ставлю ppp, потом pptpd потом iptables. Вот конфиги.

/etc/rc.d/rc.pptpd

#!/bin/sh
#
# /etc/rc.d/rc.pptpd
#
# description: control pptp server
#

case "$1" in
start)
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ppp_async
modprobe ppp_generic
modprobe ppp_mppe
modprobe slhc
if /usr/local/sbin/pptpd; then
touch /var/lock/subsys/pptpd
fi
;;
stop)
killall pptpd
rm -f /var/lock/subsys/pptpd
;;
restart)
killall pptpd
if /usr/local/sbin/pptpd; then
touch /var/lock/subsys/pptpd
fi
;;
status)
ifconfig
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
Esac

/etc/pptpd.conf
speed 115200
option /etc/ppp/options.pptpd
debug
localip 192.168.0.1
remoteip 192.168.0.2-10

/etc/ppp/options
lock

/etc/ppp/options.pptpd
ipparam PoPToP
lock
mtu 1490
mru 1490
ms-dns 192.168.0.1
proxyarp
auth
refuse-pap
refuse-chap
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 30
lcp-echo-interval 5
deflate 0

/etc/ppp/chap-secrets

username * password *

И теперь самое главное, настраиваю iptables только на Томск и на shh для работы(на всякий…)

Вот скрипт:
#!/bin/bash
# userlist.sh
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
IP_M=/home/langs/nets
n=1
/usr/local/sbin/iptables -N ports
/usr/local/sbin/iptables -N intsk
/usr/local/sbin/iptables -N outtsk

/usr/local/sbin/iptables -F INPUT
/usr/local/sbin/iptables -F OUTPUT
/usr/local/sbin/iptables -F ports
/usr/local/sbin/iptables -F intsk
/usr/local/sbin/iptables -F outtsk

for name in $(awk '{print $1}' < "$IP_M" )
do
/usr/local/sbin/iptables -A intsk -s $name -j ACCEPT
let "n += 1"
done
for name in $(awk '{print $1}' < "$IP_M" )
do
/usr/local/sbin/iptables -A outtsk -d $name -j ACCEPT
let "n += 1"
done
/usr/local/sbin/iptables -A ports -s рабочийIP -p tcp --destination-port 22 -j ACCEPT
ACCEPT"

/usr/local/sbin/iptables -A INPUT -i lo -j ACCEPT

/usr/local/sbin/iptables -A INPUT -j ports
/usr/local/sbin/iptables -A INPUT -j intsk
/usr/local/sbin/iptables -A OUTPUT -j ports
/usr/local/sbin/iptables -A OUTPUT -j outtsk

/usr/local/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#NAT
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
#iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source Мой реальныйIP

/usr/local/sbin/iptables -P INPUT DROP
/usr/local/sbin/iptables -P FORWARD DROP
/usr/local/sbin/iptables -P OUTPUT DROP
/usr/local/sbin/iptables-save
echo ""
exit 0

Теперь собственно проблема. На работе стоит windows XP, по VPN коннекчусь без проблем. Коненкт стойкий, но не работает NAT, как только прописываю строку
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
или
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source Мой реальныйIP
или обе и пытаюсь например зайти в lineage под vpn(так как на работе его рубят) комп просто виснет(домашний), уже не помню что там писалось, но клава мигает и помогает только ребут приходится ждать до вечера так как дома никого нет. Может кто знает где в логах эти ошибки лежат, выложу.

Посоветуйте как мне все таки настроить рабочий NAT. Кстати и пинг по «внутренней сети» ни с линукса ни с винды (192.168.0.1 до 192.168.0.2 и наоборот ) не идет.

Сильно не пинайте я только учусь.
Спасибо сказали:
FireWall
Сообщения: 10

Re: И снова VPN+NAT

Сообщение FireWall »

Проблема была из-за ядра 2.6.20, поставил 2.6.19 терь не вылетает тьфу тьфу тьфу.

Но…NAT так и не удалось поднять…

Ip_forward включен.

Когда в винде стоит галка «Использовать основной шлюз в удаленной сети» пинг вааще не идет так как шлюз прописывается равный ip клиента, убрал галку пинг внутри сети идет., но шлюза то нет.

Прописал
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 88.204.х.х
iptables -t nat -A postrouting -o ppp0 -j masquerade

Все равно не работает NAT. Мож чего еще где прописать надо, а мож проблема в шлюзе? И где бы его прописать, чтоб клиент получал его автоматически.

Заранее спасибо.
Спасибо сказали:
FireWall
Сообщения: 10

Re: И снова VPN+NAT

Сообщение FireWall »

Вот и решилась проблема.

$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -s $VPN_RANGE -j ACCEPT

Всем спасибо.
Спасибо сказали:
Аватара пользователя
Unicorn
Сообщения: 689
Статус: Бригадир мучеников Аль-Аксы
ОС: Gentoo 100% fresh, Archlinux

Re: И снова VPN+NAT

Сообщение Unicorn »

и тебе спасибо за backtrace
Gentoo, Archlinux / Athlon2600+ / SATA RAID 0 LVM / GNOME
Спасибо сказали:
Nec{Nikolaev}
Сообщения: 117
ОС: Mandriva 2009.1

Re: И снова VPN+NAT

Сообщение Nec{Nikolaev} »

у меня тоже траблы с pptp
пытаюсь натроить так чтоб подключившиеся в впн машини могли в инет ходить черезх сервер.

настроит pptpd
подключаюсь виндой к серваку

соединение устанавливается

но машини друг друга не пингуют
ни с винды в линух ни с линуха винду....

файрвол пока не настраивал на линухе - правил нет никаких
на винде файр выключен ваще...
Некоторые гении, такие как я, страдают сильно заниженной самооценкой...
Спасибо сказали: