Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
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łem 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łem 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:
### 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.
Offline
Między klientami? To zależy również od sposobu konfiguracji VPN, czy ma być izolacja czy nie. Tak przynajmniej wnioskuję jak piszesz o połączeniu między klientami. Ewentualnie jakiś drobny schemat.
Offline
Ja tylko tak apropo tego skryptu fw, bo chyba wszyscy robią ten sam błąd. Jeśli już czyścicie reguły, to róbcie to przy zablokowanym ruchu. xD
W przypadku gdy najpierw czyścicie reguły via:
iptables -F iptables -X
A potem dajecie
iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
To wasza zapora ma moment, w którym nie filtruje żadnych pakietów i dopuszcza wszystko jak leci co chyba nie jest zbyt bezpieczne. xD Jasne, że to jest ułamek sekundy ale, np. u mnie, 2-3 pakiety potrafiły trafić do mojego pc kompletnie niefiltrowane. Zatem zamieńcie sobie te regułki. xD
Offline
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00066 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.119.248.214' WHERE u.id=1 |
0.00055 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.119.248.214', 1732773364) |
0.00044 | SELECT * FROM punbb_online WHERE logged<1732773064 |
0.00040 | SELECT topic_id FROM punbb_posts WHERE id=280148 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=26801 ORDER BY posted |
0.00043 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26801 AND t.moved_to IS NULL |
0.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00069 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26801 ORDER BY p.id LIMIT 0,25 |
0.00054 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26801 |
Total query time: 0.00396 s |