Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-07-03 21:55:32

  vojtek11 - Nowy użytkownik

vojtek11
Nowy użytkownik
Zarejestrowany: 2016-07-03

Klient VPN i iptables

Mam postawiony router na Debianie. Służy jako "przejściówka" pomiędzy modemem LTE (HiLink) a moją domową siecią. Na tym "routerze" mam więc dwa interfejsy : eth0 (karta sieciowa, LAN, tutaj są podłączeni klienci) oraz eth1 (z modemu HiLink, to jest WAN). Do tej pory wszystko mi ślicznie śmigało. ale zachciało mi się rozpocząć przygodę z VPN. To było jakieś 2 tygodnie temu. Od tamtej pory siedzę i nie mogę tego uruchomić. problem jest chyba gdzieś w iptables. Potrzebuję oczywiście takiego ruchu :
tun0 (OpenVPN) <> eth1 <> eth0. czyli klienci w sieci LAN powinni mieć cały ruch tunelowany przez VPN.

Przeszedłem już chyba z 30-40 instrukcji znalezionych w internecie. Co ciekawe - każda trochę inna. Żadna nic nie dała. Ale niemal każda (poza kilkoma szczególnymi, które doprowadziły do "kernel panic"), doprowadzają mnie zawsze do takiego stanu :

tun0 <> eth1 (tu wszystko ślicznie śmiga, mam nowy IP od serwera VPN, cieszę się prywatnością)
eth1 <> eth0 (tutaj też wszystko pięknie, mogę się zalogować na routerze, zdalny ekran, etc.)
ale z całej sieci LAN internet w ogóle nie działa. całkowita zapaść. nie da się nawet pingnąć do np. 8.8.8.8.

przerwanie openvpn, natychmiast internet w LAN przywraca.

Podejrzewam, że problemem są iptables. W każdym tutorialu do OpenVPN są inne instrukcje dot. iptables. niektóre delikatnie się różnią (i nie mam tu na myśli zastępowania eth0 eth1 czy odwrotnie). chodzi o inne detale. niestety żadna nie spowodowała, że z sieci LAN będę mógł tunelować przez WAN do VPN. czy ktoś może poratować podstawową konfiguracją iptables, która obsłuży taką konfigurację?

z góry dziękuję,
Wojtek

Offline

 

#2  2016-07-04 10:30:54

  Pakos - Członek DUG

Pakos
Członek DUG
Zarejestrowany: 2007-06-12
Serwis

Re: Klient VPN i iptables

pokaz swoje interfejsy i iptables

Offline

 

#3  2016-07-04 11:13:14

  diabolic - Użytkownik

diabolic
Użytkownik
Skąd: okolice Leżajska
Zarejestrowany: 2007-10-08

Re: Klient VPN i iptables

Pokaż jeszcze konfigurację openvpn.


I am the one who chose my path

Offline

 

#4  2016-07-05 08:14:11

  vojtek11 - Nowy użytkownik

vojtek11
Nowy użytkownik
Zarejestrowany: 2016-07-03

Re: Klient VPN i iptables

interfaces (eth0 = LAN, eth1 = WAN, modem HiLink)

Kod:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.11.1
netmask 255.255.255.0

allow-hotplug eth1
iface eth1 inet static
address 192.168.8.2
netmask 255.255.255.0
gateway 192.168.8.1
dns-nameservers 208.67.222.222 208.67.220.220

iface default inet dhcp

w /etc/default/openvpn - tutaj jedyne niezahashowane linie to:

Kod:

OPTARGS=""
OMIT_SENDSIGS=0

plik konfiguracji służący do połączenia z serwerem VPN:

Kod:

client
dev tun
remote moj.server.vpn port
proto tcp-client
remote-cert-tls server
auth-user-pass /etc/openvpn/credentials
tls-client
pull
persist-key
resolv-retry infinite
reneg-sec 0
verb 3
script-security 2 system
auth-nocache
route-delay 2
redirect-gateway def1

<ca>
-----BEGIN CERTIFICATE-----
...tutaj certyfikaty...

iptables (dla wyjaśnienia - 10.100.100.0/24 - z tej puli dostaję adres od providera VPN). to jest ostatnia konfiguracja, którą testowałem. przy uruchomionym OpenVPN, ruch na świat jest ślicznie tunelowany, ale działa tylko z routera. kiedy zamykam OpenVPN, cały LAN od razu dostaje dostęp do internetu.

Kod:

*raw
:PREROUTING ACCEPT [749:71308]
:OUTPUT ACCEPT [804:85573]
COMMIT

*mangle
:PREROUTING ACCEPT [749:71308]
:INPUT ACCEPT [643:64601]
:FORWARD ACCEPT [106:6707]
:OUTPUT ACCEPT [804:85573]
:POSTROUTING ACCEPT [910:92280]
COMMIT

*filter
:INPUT ACCEPT [299:27101]
:FORWARD ACCEPT [20:1261]
:OUTPUT ACCEPT [337:34532]
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.11.0/24 -i eth0 -o eth1 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -s 10.100.100.0/24 -i tun0 -o eth1 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -s 10.100.100.0/24 -d 192.168.11.0/24 -i tun0 -o eth0 -m conntrack --ctstate NEW -j ACCEPT
COMMIT

*nat
:PREROUTING ACCEPT [31:2866]
:INPUT ACCEPT [16:1931]
:OUTPUT ACCEPT [18:1523]
:POSTROUTING ACCEPT [33:2458]
-A POSTROUTING -s 192.168.11.0/24 -o eth1 -j MASQUERADE
-A POSTROUTING -s 10.100.100.0/24 -o eth1 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT

Offline

 

#5  2016-07-09 12:05:02

  manmartin - Użytkownik

manmartin
Użytkownik
Zarejestrowany: 2016-07-09

Re: Klient VPN i iptables

Kilka dni temu stawiałem Openvnp na openvrt - klient i debian jako serwer.

Masz jeden błąd w konfiguracji openvpn

Kod:

redirect-gateway def1

Wywal tą linie bo napewno ona powoduje że cały ruch pcha przez tunel VPN.

podaj wynik polecenia

Kod:

route

na kliencie i serwerze i całą adresację. Bardzo prawdopodobne jest że będziesz miał problem z routingiem.

Musisz dodać:

Kod:

push "route 10.0.0.0 255.255.255.0"
route 192.168.1.0 255.255.255.0

to jest informacja o rotingu który 1. ma dodać do klienta, tak aby ruch szedł do serwera
2. dodaje routing do serwera tab aby znał trasę do klienta.

Jak podasz adresy to podam dobrą konfigurację dla routingu i openvpn.

Jeżeli masz jeszcze jakiś problem, postaram się pomóc.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)