Nejake drobne zkusenosti s OpenVPN uz mam, ale ted jsem pri migraci jednoho linuxoveho serveru narazil na problem, ze i kdyz jsem prenesl klientsky konfigurak OpenVPN na FreeBSD (vcetne certifikatu / klice), tak to nefunguje tak, jako na tom puvodnim serveru. Abych byl presnejsi - OpenVPN nastartuje, vytvori se mi v systemu zarizeni tun0 a komunikace z FreeBSD serveru skrz ten tunel funguje. Co nefunguje je to, ze se skrz ten VPN tunel nedostanou klienti z LAN. FreeBSD server ma bge0 do internetu, bge1 do LAN, tun0 do teto zminene VPN a tun1 pro jinou VPN (ta je na tomto serveru spustena jako OpenVPN server a funguje bezproblemu)
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500 inet 10.8.0.226 --> 10.8.0.225 netmask 0xffffffff Opened by PID 827 bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 00:0a:e4:84:77:4e inet 10.1.1.1 netmask 0xffffff00 broadcast 10.1.1.255 media: Ethernet autoselect (1000baseTX <full-duplex>) status: active Klienti v LAN maji adresy v rozsahu 10.1.1.0/24 a meli by byt schopni se dostat napriklad na 10.8.0.1, ale ani na ping jim neprijde zadna odpoved. (firewallem by to byt nemelo, zkousel jsem to i se shozenym firewallem) Ping primo ze zmineneho FreeBSD serveru funguje OK: # ping 10.8.0.1 PING 10.8.0.1 (10.8.0.1): 56 data bytes 64 bytes from 10.8.0.1: icmp_seq=0 ttl=64 time=4.244 ms 64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=4.169 ms Zaznamy do routovaci tabulky pridava samo OpenVPN (server posila PUSH, ale ja nemam nad tou serverovou stranou zadnou kontrolu) Zrejme prehlizim nejakou elementarni vec v konfiguraci a tak bych byl rad, kdyby me nekdo postrcil spravnym smerem. # sysctl net.inet.ip.forwarding net.inet.ip.forwarding: 1 # netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif default xxx.xxx.xx.xx UGS 0 216797 bge0 10.1.1.0/24 link#2 UC 0 0 bge1 10.1.1.37 00:16:17:6c:31:50 UHLW 1 11656 bge1 10.1.1.39 00:18:f3:06:88:cb UHLW 1 18668 bge1 10.1.1.255 ff:ff:ff:ff:ff:ff UHLWb 1 263 bge1 10.1.2.0/24 10.1.2.2 UGS 0 3538 tun1 10.1.2.2 10.1.2.1 UH 1 0 tun1 10.8.0.1/32 10.8.0.225 UGS 0 76 tun0 10.8.0.225 10.8.0.226 UH 2 0 tun0 127.0.0.1 127.0.0.1 UH 0 392 lo0 172.16.16.2 172.16.16.2 UH 0 414096 lo1 xxx.xxx.xx.yy/30 link#1 UC 0 0 bge0 xxx.xxx.xx.zz 00:06:28:0d:43:ff UHLW 2 0 bge0 xxx.xxx.xx.xx 00:0a:e4:84:77:4f UHLW 1 334 lo0 V tomhle vypisu mi prijde vsechno v poradku. Nejsem ted bohuzel v te lokalni siti, abych to mohl znovu overit, ale pokud si to z predeslych dnu jeste dobre pamatuju, tak tcpdump na tun0 videl packety, ktere byly posilane z lokalni site, ale neprichazela na ne z druhe strany odpoved (v tomhle uz se ztracim) Co je tedy jeste potreba udelat, aby se klienti z LAN na bge1 dostali skrz OpenVPN na tun0 na adresu 10.8.0.1? Druhy dotaz se pak tyka uplne jineho typu VPN na jinem serveru - konkretne pptp VPN nastavene na nejakem routeru Mikrotik. Jediny udaj, ktery jsem dostal k dispozici od protejsi strany, je login, heslo a verejna IP toho routeru, ktery zajistuje VPN. Zkousel jsem mnoho konfiguraci mpd-5.1 (net/mpd5) co jsem vygooglil, ale zadny prikald nebyl funkcni. Nejblize jsem se dostal v podstate s vychozim prikladem: startup: set console self 0.0.0.0 5005 set user admin somepass set console open default: load pptp_client pptp_client: # # PPTP client: only outgoing calls, auto reconnect, # ipcp-negotiated address, one-sided authentication, # default route points on ISP's end # create bundle static Pro0 set iface route 192.168.0.0/24 set ipcp ranges 0.0.0.0/0 0.0.0.0/0 create link static L1 pptp set link action bundle Pro0 set auth authname "MyLogin" set auth password "MyPass" set link max-redial 3 set pptp peer WW.XX.YY.ZZ set pptp disable windowing open S tim ovsem pokazde dostanu odpoved "bad username or password" i kdyz mam potvrzeno z jineho stroje, ze login a heslo je spravne (v uvedenem prikladu je MyLogin a MyPass, ale v konfigu mam skutecny login a heslo i skutecnou IP adresu) [L1] LCP: state change Ack-Sent --> Opened [L1] LCP: auth: peer wants CHAP, I want nothing [L1] LCP: LayerUp [L1] CHAP: rec'd CHALLENGE #1 len: 29 [L1] Name: "MikroTik" [L1] CHAP: Using authname "MyLogin" [L1] CHAP: sending RESPONSE #1 len: 60 [L1] CHAP: rec'd FAILURE #1 len: 79 [L1] MESG: E=691 R=0 C=8005258D6F3521B9817FF1FEF230D334 V=3 M=bad username or password [L1] LCP: authorization failed [L1] LCP: parameter negotiation failed [L1] LCP: state change Opened --> Stopping [L1] LCP: SendTerminateReq #15 [L1] LCP: LayerDown [L1] LCP: rec'd Terminate Request #2 (Stopping) [L1] LCP: SendTerminateAck #16 [L1] LCP: rec'd Terminate Ack #15 (Stopping) [L1] LCP: state change Stopping --> Stopped [L1] LCP: LayerFinish [L1] PPTP call terminated [L1] Link: DOWN event [L1] Link: giving up after 3 reconnection attempts Napada me tedy, jestli nahodou nemate nekdo zkusenost s timhle typem VPN, ze by tam musel byt nejaky konkretni parametr v konfiguraci, aby se spravne dorozumely obe strany na tom loginu a heslu. Pripadne i jiny zpusob, nez pres mpd. Predem diky za jakekoliv tipy vedouci k uspechu :) Mirek -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l