Strona 1 z 1

VPN PPTP - połączenie między klientami

: 15 grudnia 2014, 14:30
autor: orchidee
Dzień dobry,

Mam problem z własną siecią VPN opartą na protokole PPTP. Mam w sieci serwer MS SQL, który znajduje się w wewnętrznej sieci LAN. Klienci, którzy łączą się z tym serwerem znajdują się w trzech lokalizacjach w Polsce. Chciałam spiąć wszystkich w jedną sieć VPN, tak aby klienci z innych lokalizacji mogli bez przeszkód korzystać z Subiekta.
Uruchomiłam serwer VPN PPTP na naszym firmowym serwerze dedykowanym. Każdy klient bez przeszkód łączy się z siecią VPN, otrzymuje swój stały adres IP (172.31.50.x). Może korzystać z bramki internetowej jaką jest serwer VPN. Niestety mimo wszystko połączenia między klientami nie działą (nie pingują się) mimo otwrtych firewall'i i wszelkich sprawdzeń.
Próbowałam nawet przekierować port 1433 MSSQL tak aby klienci łączyli się poprzez adres zewnętrzy serwera dedykowanego. Jednak i tak bez skutku, ponieważ Subiekt nie może się połączyć. Załączam swoje IPTables bo przypuszczam, że tutaj tkwi problem:

Kod: Zaznacz cały

### BEGIN INIT INFO
# Provides:          firewall
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start iptables firewall
# Description:       Enable iptables firewall rules from firewall.
### END INIT INFO

#!/bin/sh

#czyszczenie firewalla
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F

#blokujemy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#ustawienia wstepne
#~~~~~~~~~~~~~
# wlaczenie w kernelu forwardowania
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

#ochrona przed atakiem typu Smurf
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#nie akceptujemy pakietow "source route" (zmieniaja tablice routingu)
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

#nie przyjmujemy pakietow ICMP redirect, ktore moga zmienic nasza tablice routi$
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

#wlaczamy ochrone przed blednymi pakietami ICMP error
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

#ochrona przed spoofingiem -kazdy interfejs sieciowy bedzie przyjmowal
#tylko te pakiety ktore znajduja sie w tablicy routingu
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

#wlacza logowanie dziwnych (spoofed, source routed, redirects) pakietow
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians

#Blokada przed atakami typu SYN FLOODING
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#wlaczenie loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

#Dodanie do tablicy INPUT reguł wpuszczających pakiety należące do
#już nawiązanych (ESTABLISHED) połączeń.
iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state RELATED

#strony www i dns
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

#http i https
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p udp --dport 443 -j ACCEPT

#ftp
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p udp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p udp --dport 21 -j ACCEPT

#smtp oraz pop3 - oba z ssl, IMAP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p udp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p udp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 465 -j ACCEPT
iptables -A INPUT -p udp --dport 465 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -p udp --dport 995 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p udp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
iptables -A INPUT -p udp --dport 993 -j ACCEPT

#NNTP
iptables -A INPUT -p tcp --dport 119 -j ACCEPT
iptables -A INPUT -p udp --dport 119 -j ACCEPT

#Wysokie porty, nikle zagrozenie
iptables -A INPUT -p tcp --dport 1024:65535 -j ACCEPT
iptables -A INPUT -p udp --dport 1024:65535 -j ACCEPT
iptables -A FORWARD -p tcp --dport 1024:65535 -j ACCEPT
iptables -A FORWARD -p udp --dport 1024:65535 -j ACCEPT

#odblokowanie PINGu
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

#smtp 587

iptables -A INPUT -p tcp --dport 587 -j ACCEPT
iptables -A INPUT -p udp --dport 587 -j ACCEPT

#MySQL

#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
#iptables -A INPUT -p udp --dport 3306 -j ACCEPT

#VPN

iptables -t nat -A POSTROUTING -s 172.31.50.0/24 -j SNAT --to-source 37.xxx.xxx.xxx
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p udp --dport 1723 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1723 -j ACCEPT
iptables -A OUTPUT -p udp --dport 1723 -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT
iptables -I OUTPUT -p gre -j ACCEPT

#Reguły odpowiadające za udostępnianie połączenia

#iptables -t nat -A POSTROUTING -s 172.31.50.0/24 -j MASQUERADE
#iptables -A FORWARD -s 172.31.50.0/24 -j ACCEPT
#iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
#iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT

#Przekierowanie portu VPN na serwer MSSQL port 1433

#iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 37.xxx.xxx.xxx --dport 1433 -j DNAT -–to 172.31.50.5:1433
#iptables -t nat -A POSTROUTING -o ppp0 -d 172.31.50.5 -j SNAT --to-source 37.xxx.xxx.xxx
#iptables -t nat -A PREROUTING -i eth0 -p udp –-dport 1433 -j DNAT -–to-destination 172.31.50.5:1433
#iptables -t nat -A PREROUTING -d 37.xxx.xxx.xxx -p tcp -m tcp --dport 1433 -j DNAT --to-destination 172.31.50.5:1433

#iptables -t nat -A PREROUTING -p tcp --dport 1433 -j DNAT --to 172.31.50.5:1433
#iptables -A FORWARD -p tcp -d 172.31.50.5 --dport 1433 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1433 -j DNAT --to 172.31.50.5:1433
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1433 -j DNAT --to 172.31.50.5:1433
iptables -A FORWARD -i eth0 -o ppp0 -p tcp --dport 1433 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp0 -p udp --dport 1433 -j ACCEPT

#Reguły odpowiadające za udostępnianie połączenia

iptables -t nat -A POSTROUTING -s 172.31.50.0/24 -j MASQUERADE
iptables -A FORWARD -s 172.31.50.0/24 -j ACCEPT
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT


Proszę o pomoc.

: 16 grudnia 2014, 12:30
autor: pabliszer
Jak dla mnie ping nie jest zadnym wyznacznikiem ponieważ pewnie klienci pracują na maszynach z systemem microsoft i wystarczy że mają tylko włączoną zapore i już się nie będą pingować. Popatrz w tablice routingu. Polecenia takie jak telnet traceroute i tcpdump też mogą pomóc w diagnozowaniu problemu.

: 17 grudnia 2014, 23:05
autor: markossx
Podaj traceroute od klienta do serwera SQL.

: 12 lutego 2015, 18:37
autor: pawelo
Dodaj w kliencie vpn pptp przy połączeniu :

Kod: Zaznacz cały

route add -net xxx.xxx.xxx.xxx/yy dev pppX
gdzie:
xxx.xxx.xxx.xxx/yy - adresacja oraz maska sieci VPN (np. 192.168.0.0/24)
pppX - wirtualny interfejs (np. ppp0)