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  2017-07-15 13:51:10

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

VPN przez SSH

Cześć,
nie wiem jak zmusić to do działania. Brak wpisu do tablicy routingu?

Co zrobiłem:

/etc/systemd/network/vpn.network

Kod:

[Match]
Name=tap9

[Address]
Address=10.10.0.9/24

/etc/systemd/network/vpn.netdev

Kod:

[NetDev]
Name=tap9
Kind=tap

i po starcie systemu mam trzeci interfejs:

Kod:

3: tap9: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 0e:31:11:df:84:a4 brd ff:ff:ff:ff:ff:ff
    inet 10.10.0.9/24 brd 10.10.0.255 scope global tap9
       valid_lft forever preferred_lft forever

a po wykonaniu: ssh -o Tunnel=Ethernet -w9:9 no_root_user@serwer

Kod:

3: tap9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether ee:6c:e2:68:56:bd brd ff:ff:ff:ff:ff:ff
    inet 10.10.0.9/24 brd 10.10.0.255 scope global tap9
       valid_lft forever preferred_lft forever
    inet6 fe80::ec6c:e2ff:fe68:56bd/64 scope link 
       valid_lft forever preferred_lft forever

Kod:

$ ip r
default via 192.168.2.1 dev eth1 proto static 
10.10.0.0/24 dev tap9 proto kernel scope link src 10.10.0.9 
192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.102

na serwerze:

Kod:

5: tap9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
    link/ether b2:14:e8:9e:69:a4 brd ff:ff:ff:ff:ff:ff
    inet 10.10.0.2/24 brd 10.10.0.255 scope global tap9
       valid_lft forever preferred_lft forever
    inet6 fe80::b014:e8ff:fe9e:69a4/64 scope link 
       valid_lft forever preferred_lft forever

Ostatnio edytowany przez jacekz (2017-07-15 19:18:46)

Offline

 

#2  2017-07-15 14:23:52

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

Intefejsy TAP zrób sobie poleceniem tunctl z paczki uml-utilities, tak, jak masz w tym tutku:

https://dug.net.pl/tekst/148/tunel_vpn__przez_ssh/

Wtedy na pewno zestawisz tunel.

Potem, jeśli chcesz np korzystać z tego tunelu do używania netu, to tak, jak w każdym VPNie, routing do hosta VPN musi iść przez interfejs zewnętrzny, ale trasa domyślna (ruting default) musi kierować pakiety przez interfejs TAP vpn na drugą końcówkę tunelu.

Przykład pobrania trasy domyślnej do hosta, np:

Kod:

 ip route get $(dig +short dug.net.pl)
46.105.189.254 via 192.168.0.1 dev eth0  src 192.168.0.10 
    cache

Przykład dodania trasy statycznej w tablicy routingu:

Kod:

ip route add 46.105.189.254 via 192.168.0.1 dev eth0  src 192.168.0.10

Potem trzeba podmienić domyślną trasę routingu na tą z VPNa:
Pobieramy:

Kod:

ip route show | grep default
default via 192.168.0.1 dev eth0  metric 4

Trzeba ją usunąć i wstawić własną, wg potrzeb po tym, jak już będzie ustawiona trasa interfejsu  do drugiego końca tunelu (co powinno odbyć się automatycznie przy nadawaniu adresu interfejsowi TAP) i tunel będzie uruchomiony.

Krótko pisząc, żadna magia, przy OpeVPN robi się to zazwyczaj automatycznie, przy SSH jest z tym chwilka zabawy.

To jest najprostsza konfiguracja, jest też kilka innych możliwości, jak np druga tablica routingu, sposób nawet wygodniejszy w użyciu, ale trudniejszy we wstępnej konfiguracji.

W ogóle do używania internetu przez VPN lepszy będzie OpenVPN, tunel SSH raczej sprawdzi się przy bezpiecznym dostępie do różnych usług na zdalnym serwerze, bez wystawiania ich do internetu, jak np Mysql, PostgreSQL, Firebird, Webmin, FTP, itp.

Pozdro

Ostatnio edytowany przez Jacekalex (2017-07-15 14:28:19)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2017-07-15 14:36:18

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: VPN przez SSH

Ja u siebie to robiłem w taki sposób.

Offline

 

#4  2017-07-15 14:55:44

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

morfik napisał(-a):

Ja u siebie to robiłem w taki sposób.

1.Celowo użyłeś TUN zamiast TAP, czy to po prostu było z jakiegoś powodu wygodniejsze?

2. Może starczy użyć dwóch tras routingu default z różnymi metrykami?
https://morfikov.github.io/post/metryki-tras-interf … aptop-metric/


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2017-07-15 15:01:48

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: VPN przez SSH

Ja zwykle jadę na tun i nie używałem w zasadzie tap i temu wyszło tun. xD

Poza tym, to nie wiem co chce autor zrobić ale skoro jest VPN via SSH, to podesłałem artykuł.

Offline

 

#6  2017-07-15 15:33:34

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

O iIle się nie mylę, TUN jest konieczny w Andku bez roota, albo jak nie ma driverów TAP  (w Andku czy Windows 10).

W przypadku Linuxa moim zdaniem TAP wymiata o tyle, że jest pełnowartościową kartą sieciową, podczas gdy TUN ma jakieś ograniczenia.

Ostatnio edytowany przez Jacekalex (2017-07-15 15:33:54)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2017-07-15 16:21:34

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: VPN przez SSH

A ten mechanizm w ogóle obsługuje interfejsy TAP? Tak sobie szukam informacji i w zasadzie w manualu to jedyne co znalazłem to taki zapis:

Kod:

-w local_tun[:remote_tun]
             Requests tunnel device forwarding with the specified tun(4) devices between the client (local_tun) and the server (remote_tun).

             The devices may be specified by numerical ID or the keyword “any”, which uses the next available tunnel device.  If remote_tun is not specified, it defaults to “any”.  See also
             the Tunnel and TunnelDevice directives in ssh_config(5).  If the Tunnel directive is unset, it is set to the default tunnel mode, which is “point-to-point”.

I nie ma nic o TAP, jedynie TUN.

Ostatnio edytowany przez morfik (2017-07-15 16:24:04)

Offline

 

#8  2017-07-15 19:08:39

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

Chyba właśnie TUN wymaga roota i logowania na roota na serwerze.


@Jacekalex, @morfik: pokażcie jak u was wygląda wynik polecenia

Kod:

ip r

przy działającym tunelu.




Dodam, że ping na 10.0.0.2 (drugi koniec tunelu postawiony na serwerze) odpowiada

Kod:

ping 10.10.0.2 -c 4
PING 10.10.0.2 (10.10.0.2) 56(84) bytes of data.
64 bytes from 10.10.0.2: icmp_seq=1 ttl=64 time=61.5 ms
64 bytes from 10.10.0.2: icmp_seq=2 ttl=64 time=62.2 ms
64 bytes from 10.10.0.2: icmp_seq=3 ttl=64 time=62.1 ms
64 bytes from 10.10.0.2: icmp_seq=4 ttl=64 time=61.7 ms

--- 10.10.0.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 61.517/61.914/62.213/0.299 ms

Ostatnio edytowany przez jacekz (2017-07-15 19:44:43)

Offline

 

#9  2017-07-15 20:02:01

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

Rzuć okiem na to:

https://wiki.debian.org/OpenVPN#Debian_Server_with_ … F_iOS_devices

Konkretnie ten fragment:

In client:

Kod:

# ip route add VPNSERVER_IP via LOCALGATEWAY_IP dev eth0  proto static
# ip route change default via 10.9.8.5 dev tun0  proto static   //client tun0 10.9.8.5

Priersza reguła dodaje trasę statyczną do serwera VPN przez aktualny interfejs dostarczający neta, a druga zmienia domyślną trasę routingu, żeby szła przez tunel VPN.

Dokładnie to samo próbowałem wytłumaczyć kilka postów wcześniej.

Ostatnio edytowany przez Jacekalex (2017-07-15 20:03:17)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2017-07-15 20:22:28

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

ależ już to sprawdziłem - nie współpracuje:
po:

Kod:

# ip route add ip_servera via 192.168.2.1 dev eth1 proto static
# ip route change default via 10.10.0.2 dev tap9 proto static

mam:

Kod:

ip r
default via 10.10.0.2 dev tap9 proto static 
10.10.0.0/24 dev tap9 proto kernel scope link src 10.10.0.9 
ip_serwera via 192.168.2.1 dev eth1 proto static 
192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.102

Offline

 

#11  2017-07-15 20:26:03

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

Wygląda dobrze, działa to prawidłowo? czy są jakieś cyrki?


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#12  2017-07-15 20:47:23

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

Nie działa.

Nie otwierają sie strony. Ping dochodzi tylko do Ip_serwera i 10.10.0.2.

Ostatnio edytowany przez jacekz (2017-07-15 20:48:43)

Offline

 

#13  2017-07-15 20:59:16

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

Pokaż wynik przy włączonym tunelu i ustawionym jak wyżej routingu:

Kod:

lft -VV google.pl

Programy lft, mtr i traceroute musisz najpierw zainstalować, przyda się tez tcpdump i nmap.

Po prostu trzeba zobaczyć czy coś jest skopane na kompie czy na serwerze VPN.

Pingi sugerują, że serwer VPN  ma jakiś problem.

Ostatnio edytowany przez Jacekalex (2017-07-15 21:06:53)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2017-07-15 21:06:19

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

Kod:

# lft -VV google.pl
/usr/bin/lft: Option '-V' is not implemented in this wrapper
/usr/bin/lft: Option '-V' is not implemented in this wrapper
google.pl: Odwzorowanie nazwy jest chwilowo niemożliwe
Cannot handle "host" cmdline arg `google.pl' on position 1 (argc 10)

# lft google.pl

Kod:

google.pl: Odwzorowanie nazwy jest chwilowo niemożliwe
Cannot handle "host" cmdline arg `google.pl' on position 1 (argc 10)

Ostatnio edytowany przez jacekz (2017-07-15 21:06:35)

Offline

 

#15  2017-07-15 21:07:55

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

Spróbuj tak:

Kod:

lft 8.8.8.8

W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#16  2017-07-15 21:10:55

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

Jacekalex napisał(-a):

Spróbuj tak:

Kod:

lft 8.8.8.8

w odpowiedzi 30 razy * *
zresztą przy działającym necie też.

Ostatnio edytowany przez jacekz (2017-07-15 21:11:30)

Offline

 

#17  2017-07-15 21:17:06

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

jacekz napisał(-a):

Jacekalex napisał(-a):

Spróbuj tak:

Kod:

lft 8.8.8.8

w odpowiedzi 30 razy * *
zresztą przy działającym necie też.

Gdzie dokładnie stoi ten serwer, czy to nie jest domowy komp, który ma od strony dostawcy netu jakieś blokady udostępniania netu?

Poza tym takie gwiazdki zdarzają się wtedy, jak po drodze są jakieś zmiany wartości TTL pakietu.

Pokaż:

Kod:

ping -c3 8.8.8.8

W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#18  2017-07-15 21:28:25

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

To vps w Czechach

Kod:

ping -c3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2034ms

przy działającym necie (gdy wróce do starej trasy ip route replace default via 192.168.2.1to:

Kod:

ing -c3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=51.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=46 time=51.7 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=46 time=51.6 ms

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 51.491/51.617/51.712/0.207 ms

Ostatnio edytowany przez jacekz (2017-07-15 21:31:35)

Offline

 

#19  2017-07-15 21:33:09

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

Pingi dodszły przy działającym VPN  i ustawionym routingu, czy przez standardowy interfejs internetowy bez VPNa?

Co to za firma w Czechach te VPSy sprzedaje?

Może postaw na serwerze proxy - np privoxy, i zobacz, czy net będzie działał przez ten proxy.

Ostatnio edytowany przez Jacekalex (2017-07-15 21:36:31)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#20  2017-07-15 21:36:44

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

Przez standardowy.

Aruba, mają tam jedno z datacenter.

jak pinguję ip_serwera, to mam odpowiedź zarówno przez eth1 jak i przez tap9 - wygląda na to że tunel jest ale nie działa :/


Powalczę z tym proxy.

Ostatnio edytowany przez jacekz (2017-07-15 21:41:52)

Offline

 

#21  2017-07-15 21:50:41

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

Privoxy?

masz tu działający do niedawna konfig:
cat /etc/privoxy/config

Kod:

user-manual /usr/share/doc/privoxy-3.0.24/user-manual/
confdir /etc/privoxy
logdir /var/log/privoxy
filterfile default.filter
logfile privoxy.log
listen-address  192.168.0.1:8118
toggle  1
enable-remote-toggle  0
enable-remote-http-toggle  0
enable-edit-actions 0
enforce-blocks 0
buffer-limit 4096
forwarded-connect-retries  1
accept-intercepted-requests 1
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 5
socket-timeout 300
handle-as-empty-doc-returns-ok 1
debug 0

Pewnie będzie trzeba adres Ip i ścieżkę do manuala poprawić.

Ostatnio edytowany przez Jacekalex (2017-07-15 21:51:23)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#22  2017-07-15 22:32:18

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

Jacekalex napisał(-a):

Pewnie będzie trzeba adres Ip

Po prostu nie wiem jakiego IP i portu ma to słuchać.

Offline

 

#23  2017-07-15 22:34:47

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

Na adresie interfejsu tap serwera, czyli tam, gdzie dochodzą pingi.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#24  2017-07-16 00:58:30

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: VPN przez SSH

Powiem szczerze że nie wiem jak wykorzystać obecność proxy na serwerze (ani czy ustawiłem poprawnie: listen-address  10.10.0.2:8118)

Szczerze... jak ktoś ma jakieś pomysły to zapraszam do podzielenia się nimi.

.
.
.
.
szukając w sieci pomysłów na ruszenie tego "vpn over ssh"
.
natrafiłem tu: http://xmodulo.com/how-to-set-up-vpn-over-ssh-in-linux.html
na transparentne proxy sshuttle, po zainstalowaniu proste:

Kod:

# sshuttle -vr user@remote_host 0.0.0.0/0 --dns

zestawia nam połączenie - proste i działa - tylko nie wiem co o tym myśleć.

Offline

 

#25  2017-07-16 01:44:03

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: VPN przez SSH

W przypadku Privoxy musisz ustawić w przeglądarce, żeby z niego korzystała.

Ustawiasz np w Preferencjach FF,żeby korzystał z proxy, i oto rezultat:

Kod:

ss -ptu  | grep   firefox
ESTAB      0      0      127.0.0.1:59532                127.0.0.1:8118                  users:(("firefox",pid=20589,fd=75))
ESTAB      0      0      127.0.0.1:59606                127.0.0.1:8118                  users:(("firefox",pid=20589,fd=121))
ESTAB      0      0      127.0.0.1:59542                127.0.0.1:8118                  users:(("firefox",pid=20589,fd=105))
ESTAB      0      0      127.0.0.1:59544                127.0.0.1:8118                  users:(("firefox",pid=20589,fd=111))

Ostatnio edytowany przez Jacekalex (2017-07-16 02:05:12)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

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