bigeagle / gohop

A VPN implemention in golang, with crypto and obfuscation in nature.
1.33k stars 195 forks source link

connection is successful - how to use on Ubuntu 19.04 #29

Open scottstensland opened 5 years ago

scottstensland commented 5 years ago

I installed the server on a remote machine ... here is server launch

root@forelsket /my/gopath/src/github.com/bigeagle/gohop # gohop -debug -config   server.ini
[19-06-11 13:52:04][INFO] using config file: %v server.ini
[19-06-11 13:52:04][DEBUG] %v {40100 40200  10.1.1.1/24 1400 mykeyhere true randsize 60 some.sh some.sh}
[19-06-11 13:52:04][DEBUG] {40100 40200  10.1.1.1/24 1400 mykeyhere true randsize 60 some.sh some.sh}
Deprecated: NewTUN(..) may be removed in the future. Please use New() instead.
[19-06-11 13:52:04][INFO] interface %v created tun0
[19-06-11 13:52:04][INFO] ip %s link set dev tun0 up mtu 1400 qlen 100
[19-06-11 13:52:04][DEBUG] %v 10.1.1.1
[19-06-11 13:52:04][INFO] ip %s addr add dev tun0 local 10.1.1.1 peer 10.1.1.2
[19-06-11 13:52:04][INFO] ip %s route add 10.1.1.0/24 via 10.1.1.2 dev tun0
[19-06-11 13:52:04][INFO] Fix MSS with iptables to %d 1360
[19-06-11 13:52:04][INFO] iptables %s -I FORWARD -i tun0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1360
[19-06-11 13:52:04][WARNIN] Traffic Morphing is disabled in this version
[19-06-11 13:52:04][INFO] some.sh
[19-06-11 13:52:04][DEBUG] Recieving iface frames
[19-06-11 13:52:04][INFO] some.sh
[19-06-11 13:52:04][WARNIN] client peer with key 625762201 not found
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:54694
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:54694, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:42383
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:42383, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:42453
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:42453, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:60527
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:60527, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:38603
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:38603, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:59222
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:59222, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:59890
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:59890, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:56186
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:56186, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:42841
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:42841, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [64] from : 88.88.88.88:54694
[19-06-11 13:52:07][DEBUG] handshake from client 88.88.88.88:54694, sid: 3365754690628222976
[19-06-11 13:52:07][DEBUG] assign address 10.1.1.3/24, route key 167837955
[19-06-11 13:52:07][DEBUG] peer: 88.88.88.88:59222
[19-06-11 13:52:07][DEBUG] New UDP Packet [128] from : 88.88.88.88:40169
[19-06-11 13:52:07][DEBUG] port knock from client 88.88.88.88:40169, sid: 783650831
[19-06-11 13:52:07][DEBUG] New UDP Packet [68] from : 88.88.88.88:59222
[19-06-11 13:52:07][DEBUG] Client Handshake Done
[19-06-11 13:52:07][INFO] Client 3365754690628222976 Connected
[19-06-11 13:52:07][DEBUG] New UDP Packet [0] from : 88.88.88.88:35532
[19-06-11 13:52:07][DEBUG] New UDP Packet [0] from : 88.88.88.88:46309
[19-06-11 13:52:07][DEBUG] New UDP Packet [0] from : 88.88.88.88:35658
[19-06-11 13:52:07][DEBUG] New UDP Packet [0] from : 88.88.88.88:44829
[19-06-11 13:52:07][DEBUG] New UDP Packet [0] from : 88.88.88.88:41347

here is my client launch

root@peach /my/gopath/src/github.com/bigeagle/gohop # gohop   -config    client.ini
[19-06-11 14:06:49][INFO] using config file: %v client.ini
[19-06-11 14:06:49][WARNIN] Traffic Morphing is disabled in this version
Deprecated: NewTUN(..) may be removed in the future. Please use New() instead.
[19-06-11 14:06:49][INFO] interface %v created tun0
[19-06-11 14:06:49][INFO] ip %s link set dev tun0 up mtu 1400 qlen 100
[19-06-11 14:06:49][INFO] ip -4 r a 111.222.333.20/32 via 10.176.32.1 dev wlp2s0
[19-06-11 14:06:49][INFO] start handeshaking
[19-06-11 14:06:49][INFO] ip %s addr add dev tun0 local 10.1.1.3 peer 10.1.1.4
[19-06-11 14:06:49][INFO] ip %s route add 10.1.1.0/24 via 10.1.1.4 dev tun0
[19-06-11 14:06:49][INFO] Session Initialized
[19-06-11 14:06:49][INFO] Handshake Success
[19-06-11 14:06:49][INFO] chnroute-up.sh
[19-06-11 14:06:49][INFO] Redirecting Gateway
[19-06-11 14:06:49][INFO] ip %s -4 route add 0.0.0.0/1 via 10.1.1.4 dev tun0
[19-06-11 14:06:49][INFO] ip %s -4 route add 128.0.0.0/1 via 10.1.1.4 dev tun0

[19-06-11 14:07:40][INFO] Cleaning Up
[19-06-11 14:07:40][INFO] ip %s -4 route del 0.0.0.0/1
[19-06-11 14:07:40][INFO] ip %s -4 route del 128.0.0.0/1
[19-06-11 14:07:40][INFO] chnroute-down.sh
[19-06-11 14:07:40][INFO] Finishing Session
[19-06-11 14:07:40][INFO] Finish Acknowledged
[19-06-11 14:07:40][INFO] ip %s -4 route del 111.222.333.20/32

so I have a successful connection from client to server ... question is How do I use this connection ? I am on a Ubuntu 19.04 desktop ... using other vpn approaches once a successful connection is made applications like my browser just automatically start using the vpn connection however once above connection is made my browser just times out

Sequence of events ... I ssh onto my remove machine and launch your server from a terminal ... then I launch my client in another terminal ... once a good connection is made I can see ongoing logging shown in server terminal window so I still have connectivity to that remote machine via ssh ... Problem is any browser I use just times out ... from a new terminal things like ping fail to connect ... evidently the vpn connection my client has made is not being made available to my applications

scottstensland commented 5 years ago

server config

cat server.ini 
[default]
# server or client
mode = server

[server]
# port range to listen
hopstart = 40100
hopend = 40200
# server addr
addr = 10.1.1.1/24
# master key
mtu = 1400
# key = ilovethebigbrother
key = mykeyhere
# method of traffic morphing: none or randsize
# morphmethod = none
morphmethod = randsize
# Fix MSS for tcp handshake
fixmss = true
peertimeout = 60
up = some.sh
down = some.sh

client config


cat client.ini 
[default]
# server or client
mode = client

[client]
# gohop server
# server = example.com
server = myexampledomain.com
# port range for hopping
# hopstart = 4000
# hopend = 5000
hopstart = 40100
hopend = 40200
mtu = 1400
# key = ilovethebigbrother
key = mykeyhere
# method of traffic morphing: none or randsize
# morphmethod = none
morphmethod = randsize
# whether to redirect flow through gohop
redirect-gateway = true
# is server and client in the same subnet?
local = false
heartbeat-interval = 30
up = chnroute-up.sh
down = chnroute-down.sh