DDWRT - OpenVPN łączy się, ale nie może się komunikować

0

To wydaje się być popularny temat, ale nie mogę znaleźć rozwiązania tego samego problemu, który mam.

Oto konfiguracja: Mam router DD-WRT (kompilacja 14896) na Linksys WRT54GL.

Mam jeden serwer plików w sieci LAN i serwer klienta poza wanną. mój klient może połączyć się z VPN przez port wan. otrzymuje IP 192.168.66.6. (z pominięciem 192.168 przekazania)

Z klienta (Mac podłączony do VPN przez WAN) nie mogę pingować 66.1, 66.2, 66.5, ani wewnętrznego serwera 54.50 ani wewnętrznego routera LAN 54.1. Mogę powiedzieć, że JEST dociera do routera, ponieważ ping powoduje mruganie kontrolki WAN (ustawiłem interwał na 0,01, aby upewnić się, że to

Z routera (ssh do routera) Nie mogę pingować klienta 66.6 lub trasy 66.2, ale mogę pingować serwer 66.1

do celów testowych zarówno router VPN, jak i klient są podłączone do innego routera DHCP, więc technicznie nie łączy się z Internetem. ten zakres to 192.168.1.0/24

Oto tabela routingu klienta Mac, gdy jest podłączony:

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.254      UGSc           55        0     en0
default            192.168.66.5       UGScI           0        0    tun0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH             63   285476     lo0
169.254            link#4             UCS             0        0     en0
192.168.1          link#4             UCS             3        0     en0
192.168.1.64/32    link#4             UCS             1        0     en0
192.168.1.64       b8:e8:56:44:b7:52  UHLWI           0       25     lo0
192.168.1.65       30:10:e4:4d:ce:28  UHLWI           0        3     en0
192.168.1.69       0:23:12:fa:8:f8    UHLWI           0        0     en0    689
192.168.1.77       98:fc:11:7c:d3:e4  UHLWIi          2    21412     en0   1155
192.168.1.254/32   link#4             UCS             1        0     en0
192.168.1.254      60:fe:20:61:bb:31  UHLWIir        60      752     en0   1200
192.168.54         192.168.66.5       UGSc            0        0    tun0
192.168.66         192.168.66.5       UGSc            0        0    tun0
192.168.66.5       192.168.66.6       UHr             3        0    tun0
192.168.66.5/32    link#13            UCS             0        0    tun0

tablica routingu routera

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.254   0.0.0.0         255.255.255.255 UH        0 0          0 vlan1
192.168.66.2    0.0.0.0         255.255.255.255 UH        0 0          0 tun0
192.168.54.0    0.0.0.0         255.255.255.0   U         0 0          0 br0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 vlan1
192.168.66.0    192.168.66.2    255.255.255.0   UG        0 0          0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 br0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 vlan1

moja konfiguracja serwera openvpn

push "route 192.168.54.0 255.255.255.0"
push "dhcp-option DNS 192.168.66.1"
server 192.168.66.0 255.255.255.0

dev tun0
proto udp
cipher AES-256-CBC
auth SHA512
keepalive 10 120
dh /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
client-to-client
management localhost 5001

moje komendy zapory ogniowej:

iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 --source 192.168.66.0/24 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT

Próbowałem również dodać je oprócz powyższych

iptables -A INPUT -i tun0 -j ACCEPT
iptables -A INPUT -i br0 -j ACCEPT
iptables -A FORWARD -i br0 -j ACCEPT

Zapora sieciowa jest również wyłączona na routerze VPN. Próbowałem wielu kombinacji reguł iptables i poprawiałem niektóre inne ustawienia, ale nadal nie mogę tego rozgryźć.

testy routingu od klienta:

#: route get 192.168.66.1
route to: 192.168.66.1
destination: 192.168.66.0
gateway: 192.168.66.5
interface: tun0

#: route get 192.168.54.1
route to: 192.168.54.1
destination: 192.168.54.0
mask: 255.255.255.0
gateway: 192.168.66.5
interface: tun0

test routingu z serwera VPN:

#: ip route get 192.168.66.6
192.168.66.6 via 192.168.66.2 dev tun0  src 192.168.66.1
cache  mtu 1500 advmss 1460
ZIMNICA
źródło
Udało mi się skonfigurować serwer openVPN z tymi samymi ustawieniami na maszynie wirtualnej, więc mogę sobie tylko wyobrazić, że routing jest prawidłowy, ale iptables blokuje ruch.
DAB

Odpowiedzi:

0

Nie wiem zbyt wiele, ale to pomaga, ale używanie DD-WRT OpenVPN GUI działa dla mnie dobrze. Nie mam jeszcze interfejsu CLI do pracy:

Mam zdalny serwer OpenVPN, który działa dobrze z moimi komputerami i telefonami z Androidem. Niedawno umieściłem dd-wrt na moich routerach, D-Link DIR-825 i Netgear r7000; Teraz używam tylko r7000. Mam pamięć USB w routerze, która na przykład działa dobrze podczas rozruchu, aby skonfigurować plik wymiany i dodać go do wymiany.

Skonfigurowałem klienta OpenVPN na moim routerze, wycinając i wklejając elementy pliku .ovpn utworzonego na moim serwerze. To działa dobrze.

Chciałbym jednak łatwo używać alternatywnych plików ovpn klienta dla różnych serwerów, bez konieczności usuwania / nadpisywania, wycinania i wklejania nowych informacji do routera. Tak więc na moim USB umieszczam kilka plików ovpn klienta, które, jak wiem, działają dobrze na moich komputerach i telefonach.

Próbowałem użyć tych alternatywnych plików ovpn, najpierw wyłączając usługę OpenVPN w routerze, a następnie sprawdzając, czy nadal otrzymuję ping z mojego komputera za pośrednictwem mojego usługodawcy internetowego. Za pośrednictwem powłoki logowania ssh do routera spróbowałem następnie otworzyć plik openvpn file.ovpn, aby uruchomić nową usługę OVPN. Nie działało - brak zdalnych pingów z mojego komputera. Następnie zabiłem proces openvpn i wróciłem ping do mojego dostawcy usług internetowych. Zrestartowałem również usługę OpenVPN dd-wrt przez przeglądarkę i po prostu odzyskałem moją oryginalną usługę OVPN.

Wszystko wydaje się działać poprawnie, z wyjątkiem możliwości uruchomienia dowolnej alternatywnej usługi OVPN za pomocą wiersza polecenia

openvpn file.ovpn

Dodanie --daemon nie robi różnicy:

Zauważ, że kiedy usługa OVPN jest wyłączona w GUI, nie ma żadnych plików /tmp/openvncl/. Aby wykonać to samo wywołanie wykonane przez GUI (patrz ps) skopiowałem stamtąd route-up.sh i route-down.sh do mojego katalogu sda1.

Wtedy pobiegłem

xovpn.sh server

gdzie xovpn.shjest/tmp/mnt/sda1/

#!/bin/sh
killall openvpn
/usr/sbin/openvpn --config /tmp/mnt/sda1/$1.ovpn --route-up /tmp/mnt/sda1/route-up.sh --down-pre /tmp/mnt/sda1/route-down.sh --daemon

(Celem tego ćwiczenia jest możliwość zmiany serwerów po prostu za pomocą interfejsu CLI).

To polecenie pokazuje się dobrze, pstak jak podczas korzystania z GUI. Jednak w ogóle nie mam połączenia z Internetem. Próbowałem tego na 3 serwerach - moim i dwóch z prywatnego tunelu - z których wszystkie działają dobrze na moich komputerach i telefonach.

Lester Ingber
źródło