1 (edytowany przez kzn1990 2019-11-11 18:18:20)

Temat: Openvpn i problem z routingiem

Cześć,
Mam problem, z którym nie jestem w stanie sam sobie poradzić. Na moim linksysie AC1200 z OpenWrt 18.06.4 mam postawiony serwer OpenVPN. Do serwera podłączone mam dwa VPS'y na debianie 9.11:
obelix 10.8.0.50
kameleon1 10.8.0.80
Serwer kameleon jest bramą dla sieci lokalnej (10.80.0.0/24) i chciałbym żeby ta sieć była dostępna przez tunel VPN.

Config serwera:

config openvpn 'home'
    option enabled '1'
    option dev 'tun0'
    option port '1194'
    option log '/tmp/openvpn.log'
    option verb '6'
    option dh '/etc/openvpn/dh2048.pem'
    option server '10.8.0.0 255.255.255.0'
    option ca '/etc/openvpn/pki/ca.crt'
    option cert '/etc/openvpn/pki/issued/serwer.crt'
    option key '/etc/openvpn/pki/private/serwer.key'
    option ifconfig_pool_persist '/etc/config/ccd/ipp.txt 0'
    option push 'route 10.133.0.0 255.255.255.0'
    option client_to_client '1'
    option keepalive '10 60'
    option proto 'tcp-server'
    option persist_tun '1'
    option persist_key '1'
    option topology 'subnet'
    list route '10.80.0.0 255.255.255.0 10.8.0.80'

ipp.txt:

obelix,10.8.0.50
kameleon1,10.8.0.80

Config kameleona:

client
ca /etc/openvpn/client/ca.crt
cert /etc/openvpn/client/kameleon.crt
dev tun0
key /etc/openvpn/client/kameleon.key
log /tmp/openvpn.log
proto tcp
remote x.x.x.x 1194
verb 10
auth-nocache
persist-tun
persist-key

Tablica routingu serwera:

root@router:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         x.x.x.x    0.0.0.0         UG    0      0        0 eth1
10.3.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0.3
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
10.33.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0.33
10.69.0.0       0.0.0.0         255.255.255.0   U     0      0        0 br-VLAN69_WiFi
10.80.0.0       10.8.0.80       255.255.255.0   UG    0      0        0 tun0
10.133.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0.133

Serwer OpenVPN dodaje do tablicy routingu podsieć 10.80.0.0 przez ip kameleona (10.8.0.80), jednak nie jestem w stanie spingować tej podsieci. Adres vpnowy 10.8.0.80 pinguje bez problemu, jednak już jego wewnętrzy 10.80.0.1 nie. Sprawdzałem tcpdumpem i w ogóle nie dochodzą do kameleona żadne pakiety które są kierowane do jego podsieci, tak jakby sam serwer openvpn coś blokował. Tablica FORWARD na kameleonie ma domyślną politykę ACCEPT, więc nie jest to blokowane po jego stronie (zresztą nawet jakby było, widział bym pakiety w tcpdumpie).
Konfigurował ktoś takiego vpna site-2-site i może coś doradzić?

2

Odp: Openvpn i problem z routingiem

Stare bo stare ale ideologicznie masz konfig serwera podany: http://rpc.one.pl/index.php/lista-artyk … -w-openwrt

Zasada jest taka sama - serwer musi znać tablice routingu swoje i klientów, klient zaś dostaje tablicę swoją i serwera i ew innych klientów w ccd.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez kzn1990 2019-11-13 13:59:31)

Odp: Openvpn i problem z routingiem

Hmm nie jestem pewien, ale wydaje mi się, że właśnie tak mam zrobione.
Jeszcze raz config serwera

config openvpn 'home'
        option enabled '1'
        option dev 'tun0'
        option port '1194'
        option log '/tmp/openvpn.log'
        option verb '6'
        option dh '/etc/openvpn/dh2048.pem'
        option server '10.8.0.0 255.255.255.0'
        option ca '/etc/openvpn/pki/ca.crt'
        option cert '/etc/openvpn/pki/issued/serwer.crt'
        option key '/etc/openvpn/pki/private/serwer.key'
        option ifconfig_pool_persist '/etc/config/ccd/ipp.txt 0'
        option client_to_client '1'
        option keepalive '10 60'
        option proto 'tcp-server'
        option persist_tun '1'
        option persist_key '1'
        option topology 'subnet'
        list route '10.80.0.0 255.255.255.0 10.8.0.80'
        list push 'route 10.80.0.0 255.255.255.0'
        list push 'route 10.8.0.0 255.255.255.0'

Tablica routeingu serwera:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         x.x.x.x    0.0.0.0         UG    0      0        0 eth1
10.3.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0.3
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
10.33.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0.33
10.80.0.0       10.8.0.80       255.255.255.0   UG    0      0        0 tun0
10.133.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0.133

Serwer ma tablice swoje i podsieci 10.80.0.0 via 10.8.0.80. Pushuje też z serwera podsieć 10.80.0.0/24 i podsieć vpn'a 10.8.0.0/24 do wszystkich klientów. Jednak nie jestem w stanie dalej z poziomu serwera spingować sieci 10.80.0.1. Gdzie robię błąd?

@edit
Konfigurując tunel odwrotnie (openwrt jest clientem, kameleon serwerem), wszystko działa od strzału i bez żadnego problemu. Routing działa i mogę pushować lokalne vLany w obie strony i ustawiać polityki na firewallach. Nie wiem w czym jest problem, ale prawdopodobnie brakuje czegoś w openwrtowym openvpienie sad