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
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.008 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00109 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.161.194' WHERE u.id=1
0.00091 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.161.194', 1732739784)
0.00040 SELECT * FROM punbb_online WHERE logged<1732739484
0.00064 SELECT topic_id FROM punbb_posts WHERE id=303088
0.00105 SELECT id FROM punbb_posts WHERE topic_id=28753 ORDER BY posted
0.00059 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28753 AND t.moved_to IS NULL
0.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00085 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28753 ORDER BY p.id LIMIT 0,25
0.00097 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28753
Total query time: 0.00675 s