Serwer PPTPD przekierowanie portów

Wyłącznie system! Wątpliwości dotyczące aplikacji proszę umieszczać niżej, w odpowiednich forach.
error105
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 kwie 2018, 12:29
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Brak
Architektura: x86_64
Kontakt:

Serwer PPTPD przekierowanie portów

Post autor: error105 » 27 sty 2019, 12:54

Witam,
walczę już jakiś czas z przekierowaniem portów na moim serwerze VPS wprost do mojego lokalnego IP po PPTDP. Kiedyś działało bez problemu a teraz nie mam pojęcia czemu porty są nie przekierowane, dodam że przy połączeniu przez PPTPD mam internet.

rc.local

Kod: Zaznacz cały

iptables -I INPUT -p tcp --dport 1723 -m state --state NEW -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT
iptables -t nat -I POSTROUTING -o enp1s0 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -s 192.168.1.0/24 -j TCPMSS  --clamp-mss-to-pmtu

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o enp1s0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.1.0/24 -j TCPMSS --set-mss 1356

iptables -t nat -A PREROUTING -p tcp -d IP_SERWERA --dport 8000 -j DNAT --to-destination 192.168.1.234:8000
ifconfig:

Kod: Zaznacz cały

enp1s0    Link encap:Ethernet  HWaddr fa:16:3e:45:c8:04
          inet addr:IP_Servera  Bcast:IP_Maski  Mask:255.255.240.0
          inet6 addr: fe80::f816:3eff:fe45:c804/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:445 errors:0 dropped:0 overruns:0 frame:0
          TX packets:378 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:451112 (451.1 KB)  TX bytes:60999 (60.9 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:160 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:11840 (11.8 KB)  TX bytes:11840 (11.8 KB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:192.168.1.10  P-t-P:192.168.1.234  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
          RX packets:55 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:9492 (9.4 KB)  TX bytes:8036 (8.0 KB)
ipconfig /all

Kod: Zaznacz cały

PPP adapter VPN:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : VPN
   Physical Address. . . . . . . . . :
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 192.168.1.234(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : 0.0.0.0
   DNS Servers . . . . . . . . . . . : 8.8.8.8
                                       8.8.4.4
   NetBIOS over Tcpip. . . . . . . . : Enabled
error105
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 kwie 2018, 12:29
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Brak
Architektura: x86_64
Kontakt:

Re: Serwer PPTPD przekierowanie portów

Post autor: error105 » 30 sty 2019, 19:36

Doradzi ktoś coś ? :confused:
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4000
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Serwer PPTPD przekierowanie portów

Post autor: jacekalex » 30 sty 2019, 20:18

PPTPD na VPS? Zwariował ktoś?

Po to masz OpenSSH i OpenVPN, żeby w patologie Microsoftu w typie PPTPD się nie pchać.

Zarówno OpenSSH jak i OpenVPN obsługuje tunele z interfejsami TUN/TAP,
które mają własne adresy IP, i ruch przez VPN obrabiasz regułami routingu, nie firewallem.

RTFW:
https://wiki.debian.org/OpenVPN

Konkretnie:
In Server enable runtime IP forwarding:

Kod: Zaznacz cały

echo 1 > /proc/sys/net/ipv4/ip_forward
Edit /etc/sysctl.conf uncomment the following line to make it permanent:

Kod: Zaznacz cały

net.ipv4.ip_forward = 1
Execute the following command in server for testing:

Kod: Zaznacz cały

IF_MAIN=eth0
IF_TUNNEL=tun0
YOUR_OPENVPN_SUBNET=10.9.8.0/24
#YOUR_OPEN_VPN_SUBNET=10.8.0.0/16 # if using server.conf from sample-server-config
iptables -A FORWARD -i $IF_MAIN -o $IF_TUNNEL -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s $MY_OPENVPN_SUBNET -o $IF_MAIN -j ACCEPT
iptables -t nat -A POSTROUTING -s $MY_OPENVPN_SUBNET -o $IF_MAIN -j MASQUERADE
In client:

Kod: Zaznacz cały

# ip route add VPNSERVER_IP via LOCALGATEWAY_IP dev eth0  proto static
# ip route change default via 10.9.8.5 dev tun0  proto static   //client tun0 10.9.8.5
To by było na tyle
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
error105
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 kwie 2018, 12:29
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Brak
Architektura: x86_64
Kontakt:

Re: Serwer PPTPD przekierowanie portów

Post autor: error105 » 30 sty 2019, 21:29

Od wariactwa głowa nie boli, nie było to żadnego rodzaju zabezpieczenie a po prostu jako jedyne przekierowywało mi porty poprawnie :D

OpenVPN byłby ok, ale w nim nie potrafię sobie poradzić z tym by za każdym razem konkretny klient dostawał konkretne IP, a druga rzecz - OpenVPN nie umożliwia mi podłączenia się dwoma urządzeniami z tej samej sieci (albo znowu problem znajduje się między moim krzesłem a monitorem :) )

Ale od biedy wystarczy mi jedno połączenie, bo w sumie tylko jeden serwer chcę wywalić poza moje nieszczęsne 3G :/
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4000
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Serwer PPTPD przekierowanie portów

Post autor: jacekalex » 30 sty 2019, 22:41

Jeżeli OpenVPN masz na routerze, to pozostaje kwestia ustawienia routingu na OpenVPN.

W innym przypadku możesz nawet 15 urządzeń do serwera OpenVPN podłączyć, ale na każdym musisz osobnego klienta OpenVPN skonfigurować.

Konfiguracja klienta i serwera OpenVPN to robota dosyć banalna, dużo prostsza od Ipseca czy PPTP, gimnastyka może być tylko z certyfikatami, ale do tego służy paczka easy-rsa, która mocno ułatwia sprawę.
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
error105
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 kwie 2018, 12:29
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Brak
Architektura: x86_64
Kontakt:

Re: Serwer PPTPD przekierowanie portów

Post autor: error105 » 30 sty 2019, 22:48

Na raspberryPI, i gdy miałem podłączone Rpi do OpenVPN to zaden inny komputer z tej samej sieci z Openem nie chciał już się łączyć, choć każdy miał wygenerowany oddzielny plik konfiguracyjny.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4000
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Serwer PPTPD przekierowanie portów

Post autor: jacekalex » 30 sty 2019, 23:55

To wskazuje na ewidentny problem miedzy krzesłem i klawiaturą.
OpenVPN może chodzić w trybie verbose debug - przełącznik

Kod: Zaznacz cały

--verb 6
Set –verb 6 for debugging info showing the transformation of src/dest addresses in packets.
Przy którym grzecznie napisze na konsoli, co go boli z autoryzacją.

Maksymalny poziom debugowania to 11:

Kod: Zaznacz cały

--verb n        : Set output verbosity to n (default=1):
                : 6 to 11 -- debug messages of increasing verbosity
Przy poziomie 11 dostarczy w minutę lektury na pół dnia.


Przy czym konfigurację Openvpn trzeba podzielić na etapy, najpierw ustawić połączenie na kluczu symetrycznym wspólnym, i jak tam działa, to dopiero wtedy zaczynać zabawę z certyfikatami.

Dobrze też ręcznie ustawić routing i nie pozostawiać tego do zrobienia serwerowi OpenVPN,
bo ten zrzuca uprawnienia z roota na usera openvpn, i po zrzuceniu uprawnień już routingu nie ustawi i interfejsów nie podniesie.
Interfejs tun stworzysz poleceniem tunctl z paczki uml-utilities , routing ustawisz przez polecenie ip z paczki iproute2.

Poza tym jak na VPSa możesz się zalogować przez SSH, to możesz też zestawić tunel między urządzeniami przez SSH.
Rzuć okiem na to:
https://morfikov.github.io/post/jak-sko ... przez-ssh/

Pozdro
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4000
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Serwer PPTPD przekierowanie portów

Post autor: jacekalex » 31 sty 2019, 01:55

Masz tu przykład połączenia OpenVPN z kluczem symetrycznym:
Klient:

Kod: Zaznacz cały

#  cat /etc/openvpn/domek.conf 
remote 51.68.191.121
port 19715
dev tun9
secret /etc/openvpn/static.key
ifconfig 10.0.8.5  10.0.8.4 
proto tcp-client
persist-tun
persist-key
cipher AES-256-CBC
keepalive 10 120
user openvpn
group openvpn
Serwer:

Kod: Zaznacz cały

#  cat /etc/openvpn/serwer.conf 
dev tun9
port 19715
secret /etc/openvpn/static.key
user openvpn
group openvpn
proto tcp-server
persist-tun
persist-key
ifconfig 10.0.8.4 10.0.8.5
cipher AES-256-CBC
keepalive 10 120
Serwer:

Kod: Zaznacz cały

openvpn  --config /etc/openvpn/serwer.conf 
Thu Jan 31 01:33:47 2019 disabling NCP mode (--ncp-disable) because not in P2MP client or server mode
Thu Jan 31 01:33:47 2019 OpenVPN 2.4.0 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 18 2017
Thu Jan 31 01:33:47 2019 library versions: OpenSSL 1.0.2q  20 Nov 2018, LZO 2.08
Thu Jan 31 01:33:47 2019 TUN/TAP device tun9 opened
Thu Jan 31 01:33:47 2019 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Thu Jan 31 01:33:47 2019 /sbin/ip link set dev tun9 up mtu 1500
Thu Jan 31 01:33:47 2019 /sbin/ip addr add dev tun9 local 10.0.8.4 peer 10.0.8.5
Thu Jan 31 01:33:47 2019 Could not determine IPv4/IPv6 protocol. Using AF_INET
Thu Jan 31 01:33:47 2019 Listening for incoming TCP connection on [AF_INET][undef]:19715
Thu Jan 31 01:34:24 2019 TCP connection established with [AF_INET]88.112.101.87:45934
Thu Jan 31 01:34:24 2019 TCPv4_SERVER link local (bound): [AF_INET][undef]:19715
Thu Jan 31 01:34:24 2019 TCPv4_SERVER link remote: [AF_INET]88.112.101.87:45934
Thu Jan 31 01:34:24 2019 GID set to openvpn
Thu Jan 31 01:34:24 2019 UID set to openvpn
Thu Jan 31 01:34:34 2019 Peer Connection Initiated with [AF_INET]88.112.101.87:45934
Thu Jan 31 01:34:35 2019 Initialization Sequence Completed
Thu Jan 31 01:35:53 2019 Connection reset, restarting [0]
Thu Jan 31 01:35:53 2019 SIGUSR1[soft,connection-reset] received, process restarting
Thu Jan 31 01:35:54 2019 Re-using pre-shared static key
Thu Jan 31 01:35:54 2019 Preserving previous TUN/TAP instance: tun9
Thu Jan 31 01:35:54 2019 Could not determine IPv4/IPv6 protocol. Using AF_INET
Thu Jan 31 01:35:54 2019 Listening for incoming TCP connection on [AF_INET][undef]:19715
Thu Jan 31 01:36:18 2019 TCP connection established with [AF_INET]88.112.101.87:40559
Thu Jan 31 01:36:18 2019 TCPv4_SERVER link local (bound): [AF_INET][undef]:19715
Thu Jan 31 01:36:18 2019 TCPv4_SERVER link remote: [AF_INET]88.112.101.87:40559
Thu Jan 31 01:36:26 2019 Peer Connection Initiated with [AF_INET]88.112.101.87:40559
Thu Jan 31 01:36:27 2019 Initialization Sequence Completed
i klient:

Kod: Zaznacz cały

openvpn --config /etc/openvpn/domek.conf 
Thu Jan 31 01:36:15 2019 disabling NCP mode (--ncp-disable) because not in P2MP client or server mode
Thu Jan 31 01:36:15 2019 OpenVPN 2.4.6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Jul 11 2018
Thu Jan 31 01:36:15 2019 library versions: LibreSSL 2.6.5, LZO 2.10
Thu Jan 31 01:36:15 2019 TUN/TAP device tun9 opened
Thu Jan 31 01:36:15 2019 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Thu Jan 31 01:36:15 2019 /bin/ip link set dev tun9 up mtu 1500
Thu Jan 31 01:36:15 2019 /bin/ip addr add dev tun9 local 10.0.8.5 peer 10.0.8.4
Thu Jan 31 01:36:15 2019 TCP/UDP: Preserving recently used remote address: [AF_INET]51.68.138.196:19715
Thu Jan 31 01:36:15 2019 Attempting to establish TCP connection with [AF_INET]51.68.191.121:19715 [nonblock]
Thu Jan 31 01:36:16 2019 TCP connection established with [AF_INET]51.68.191.121:19715
Thu Jan 31 01:36:16 2019 TCP_CLIENT link local: (not bound)
Thu Jan 31 01:36:16 2019 TCP_CLIENT link remote: [AF_INET]51.68.191.121:19715
Thu Jan 31 01:36:16 2019 GID set to openvpn
Thu Jan 31 01:36:16 2019 UID set to openvpn
Thu Jan 31 01:36:24 2019 Peer Connection Initiated with [AF_INET]51.68.191.121:19715
Thu Jan 31 01:36:25 2019 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Thu Jan 31 01:36:25 2019 Initialization Sequence Completed
Czy działa?
Zapytajmy Mysqla:
echo status | mysql -h 10.0.8.4 -u jacek -p'haselko_do_mysql' |egrep -i "current user|connection"
Connection id: 531
Current user: jacek@10.0.8.5
Connection: 10.0.8.4 via TCP/IP
Kwestię routingu i przekazywania pakietów w trybie routera na VPS masz na zadanie domowe. ;)

Jak opanujesz autoryzację kluczem symetrycznym to potem autoryzacja przez certyfikaty klienckie generowane przez easy-rsa.

To by było na tyle
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
ODPOWIEDZ

Wróć do „Instalacja, aktualizacja i konfiguracja Ubuntu”