Natrafiłem na trochę układanki i nie miałem szczęścia znaleźć rozwiązania. Obecnie jestem (niestety) połączony z siecią przez Verizon 3G. Filtrują cały ruch przychodzący, więc nie mogę otworzyć portów, aby zaakceptować połączenia.
Obecnie mam maszynę wirtualną z linuksem na linode.com i przyszła mi do głowy myśl, aby zainstalować pptpd
i spróbować iptables
przekierować porty. Mam pptpd
zainstalowany i moja maszyna do domu łączy się szczęśliwie. To powiedziawszy, oto kilka ogólnych informacji:
Serwer (Debian) WAN IP: xxxx na eth0 - pptpd IP: rrr1 na ppp0 - IP klienta VPN: rrr100
Aby sprawdzić, czy nie oszaleję, próbowałem nawiązać pewne połączenia z serwera do otwartych portów na kliencie, a klient akceptuje połączenia za pośrednictwem adresu IP VPN.
To, co chcę osiągnąć, to:
Internet -> WAN IP: Port -> Przekaż do klienta VPN IP: Port
Na przykład, jeśli miałbym otwarty port 6000 na moim kliencie, osoba mogłaby telnetować do xxxx: 6000, a serwer przechwyciłby to i przesłał go do 192.168.3.100:6000.
Próbowałem co najmniej 20 różnych konfiguracji Googled up iptables
i żadna jeszcze nie działała. Czy ktoś ma jakieś pomysły, a może zupełnie inne podejście, o którym być może nie wiem? Celem jest słuchanie przez strasznie zaporowe połączenie, najlepiej zarówno TCP, jak i UDP.
źródło
iptables-save
do wyświetlania moich reguł iptables - podczas gdy dane wyjściowe nie są przeznaczone do spożycia przez ludzi, nadal są czytelne i pokazują wszystkie twoje reguły iptables.) Nie, niestety nie możesz tam użyć „wszystkich”, ponieważ--dport
tylko współpracuje z protokołami, które faktycznie mają porty („wszystkie” obejmują np. ICMP, który nie ma pojęcia portów). Będziesz potrzebował osobnych reguł dla TCP i UDP.Miałem również ten problem i próbowałem go rozwiązać godzinami. Oto moje rozwiązanie:
VPNClient
z tym samymIPAddress
. Dałem więc każdemu z nich szumIPAddress
http://www.yougetsignal.com/tools/open-ports/ i http://canyouseeme.org/ nie wykryły poprawnie portów. Musiałem dodatkowo uruchomić aplikację na kliencie, aby strony były w stanie zobaczyć te porty.
Nie ma potrzeby dodatkowych
SNAT
zasad. Potrzebne były tylko te zasady:źródło
Większość serwerów ma wyłączone przekazywanie adresów IP w domyślnej konfiguracji. Musisz włączyć tę opcję, jeśli chcesz przekierowywać połączenia przychodzące przez VPN.
Spróbuj tego:
Mam na myśli oprócz konfiguracji iptables.
źródło
To, co chcesz osiągnąć, jest (prawdopodobnie) bardzo możliwe w przypadku
pptpd
OpenVPN i iptables, jednak może okazać się lepszym kandydatem do tego przypadku użycia. Właśnie przeczytałem ten, który opisuje, jak skonfigurować tinc dla dokładnie tego przypadku użycia. Jest to (potencjalnie prostsza) alternatywa dla częścipptdp
lub OpenVPN. Wtedy potrzebujesz dokładnie tych samych reguł dla iptables.źródło