1 (edytowany przez Sitheek 2013-08-18 19:10:29)

Temat: OpenVPN serwer na OpenWRT - jak najprosciej i....vpn ok, ale brak netu

Witam serdecznie !

Postanowiłem zastapić stary router Dlinka z VPN em (bo juz szwankował) TL MR3220 -
- wgrałem gargoyle
- zainstalowałem openvpn
- powstawiałem pliki konfiguracyjne
- uruchomiłem i ...

Niby działa smile - Uzywam interfejsu tun0 z adresem 10.0.0.1, router lokalnie ma 192.168.10.1.
Łączę się z laptopa z winxp (tap bridge - 10.0.0.2) i połączenie zestawia się bez problemu.

Można pingować z laptopa 10.0.0.1 oraz 192.168.10.1, z routera można pingować 10.0.0.2 więc openvpn chyba działa ok ale ...

Chciałbym uzyskać na laptopie dostęp do urzadzen w sieci 192.168.10.0 i niestety nic z tego nie da rady nic spingować ani z niczym sie polaczyc ...

Panowie jestescie madrzejsi ode mnie, spojrzcie co nie jest w porzadku z tym routingiem u mnie

1 - /etc/config/openvpn

config 'openvpn' 'myvpn2'
    option 'config' '/etc/openvpn/my-vpn2.conf'
    option 'enable' '1'

2 - /etc/openvpn/myvpn2.conf

port 9194
proto tcp-server
dev tun0
ifconfig 10.0.0.1 10.0.0.2
secret /etc/openvpn/secret.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key

3 - /etc/config/network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config interface 'lan'
    option ifname 'eth0'
    option type 'bridge'
    option proto 'static'
    option netmask '255.255.255.0'
    option ipaddr '192.168.10.1'
    option dns '192.168.10.1'

config interface 'wan'
    option ifname 'eth1'
    option proto 'pppoe'
    option keepalive '3 5'
    option username '*********'
    option password '*********'

config interface 'openvpn_tun0'
    option ifname 'tun0'
    option proto 'none'

config switch
    option name 'eth0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'eth0'
    option vlan '1'
    option ports '0 1 2 3 4'
 

4 - /etc/config/firewall

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT' #'REJECT'

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

#OpenVpn_A
config zone
    option name 'openvpn_tun0'
    option network 'openvpn_tun0'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'ACCEPT' #'REJECT'
    option family 'ipv4'
    option mtu_fix '1'
    option masq '1'
#End OpenVpn_A


config forwarding
    option src 'lan'
    option dest 'wan'

#OpenVpn_B
config forwarding
    option src 'lan'
    option dest 'openvpn_tun0'
    opton family 'ipv4'

config forwarding
    option src 'openvpn_tun0'
    option dest 'lan'
    option family 'ipv4'

config forwarding
    option src 'openvpn_tun0'
    option dest 'openvpn_tun0'
    option family 'ipv4'
#End OpenVpn_B

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option src_ip 'fe80::/10'
    option src_port '547'
    option dest_ip 'fe80::/10'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

#OpenVpn_C
config rule
    option name 'openvpn_witpol'
    option target 'ACCEPT'
    option dest_port '9194'
    option src 'wan'
    option proto 'tcpudp'
    option family 'ipv4'

config rule
    option name 'allow_ssh_via_vpn'
    option src 'openvpn_tun0'
    option proto 'tcp'
    option dest_port '22'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'allow_ping_via_vpn'
    option src 'openvpn_tun0'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'allow_dns_via_vpn'
    option src 'openvpn_tun0'
    option proto 'udp'
    option dest_port '53'
    option family 'ipv4'
    option target 'ACCEPT'
#End OpenVpn_C

config include
    option path '/etc/firewall.user'

config include
    option path '/usr/lib/gargoyle_firewall_util/gargoyle_additions.firewall'

config remote_accept 'ra_443_443'
    option local_port '443'
    option remote_port '443'
    option proto 'tcp'
    option zone 'wan'

config remote_accept 'ra_9090_9090'
    option local_port '9090'
    option remote_port '9090'
    option proto 'tcp'
    option zone 'wan'

config remote_accept 'ra_9022_9022'
    option local_port '9022'
    option remote_port '9022'
    option proto 'tcp'
    option zone 'wan'

6 - w laptopie konfig taki

dev tun
proto tcp-client
dev-node tap-bridge
ifconfig 10.0.0.2 10.0.0.1
remote witpol73.dyndns.org 9194
resolv-retry infinite
secret "c:\\Program Files\\OpenVPN\\config\\secret.key"
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
route 192.168.10.0 255.255.255.0


Panowie grabie mi juz opadły....


jeszcze dopisalem

/etc/firewall.user

iptables -I OUTPUT -o tap+ -j ACCEPT
iptables -I INPUT -i tap+ -j ACCEPT
iptables -I FORWARD -o tap+ -j ACCEPT
iptables -I FORWARD -i tap+ -j ACCEPT

ale dalej to samo .... sad


Update :
Zainstalowałem na routerze tcpdump i wyglada na to że pingi dla lanu za routerem dochodzą do routera przez tun0 ale odpowiedzi brak:(

Update 2:
HE HE wyglada ze icmp wychodzą z interfejsu br-lan do sieci lokalnej

Update 3:
Jak zwykle moja głupota smile

Wszystko działa ok - w niektórych urzadzeniach jest ustawiony stary adres bramy - starego routera, nowy ma nowy adres a bylo nie pozmieniane wiec echo nie wracało

Dopiero tcpdump mi pomógł.


Ale na koniec pytanie - co mozna wywalić z mojej konfiguracji aby sprowadzić wszystko do jak najprostszej formy ?

Panowie ale numer - NIE MAM DOSTEPU DO NETU Z LANU ZA ROUTEREM !
Miał ktoś taki problem ?

tcpdump pokazuje ze pingi z lanu wchodza do routera, ale nie idą do wanu - co jest grane ???

No i znowu się myliłem, pingi ida nie po eth1, ale po ppoe-wan, ale bez natu czyli z adresami lokalnymi i nie ma szans na odpowiedz...
Dlaczego nie ma natu ?

2

Odp: OpenVPN serwer na OpenWRT - jak najprosciej i....vpn ok, ale brak netu

OK metoda prob i bledow udalo mi sie ustalic ze w pliku firewall nie nalezy w sekcji forwarding wpisywac option family ipv4, bo to nie wiedzieć czemu rozwalało caly nat

#OpenVpn_B
config forwarding
    option src 'lan'
    option dest 'openvpn_tun0'
    #opton family 'ipv4'

config forwarding
    option src 'openvpn_tun0'
    option dest 'lan'
    #option family 'ipv4'

config forwarding
    option src 'openvpn_tun0'
    option dest 'openvpn_tun0'
    #option family 'ipv4'
#End OpenVpn_B

Ponadto nie ma potrzeby umieszczac zadnych wpisow w pliku firewall.user - bez nich dziala wszystko znakomicie ! smile