Il mio schema di rete:
|localhost| tun1--> VPN <--tun0 |work station| wlan0--> |router| --> (10.128.0.0/16)
localhost: Arch Linux x86-64
postazione di lavoro: CentOS 6 x86-64
Voglio collegarmi direttamente da localhost alla rete 10.128.0.0/16, senza i port forwarding della SSH e così via. La postazione di lavoro ha accesso a questa rete. Inoltre, la stazione di lavoro ha IP statico 10.255.255.252 in VPN.
tracciamento dalla stazione di lavoro all'host in 10.128.0.0/16:
$ tracepath 10.128.29.59
1?: [LOCALHOST] pmtu 1500
1: 192.168.225.1 (192.168.225.1) 15.293ms
1: 192.168.225.1 (192.168.225.1) 2.119ms
2: 192.168.225.1 (192.168.225.1) 2.085ms pmtu 1409
2: no reply
3: 10.128.29.59 (10.128.29.59) 15.655ms reached
Resume: pmtu 1409 hops 3 back 3
192.168.255.1 è il gateway predefinito per la stazione di lavoro:
$ ip route | grep default
default via 192.168.225.1 dev wlan0
Ho provato solo ad aggiungere route sul mio localhost, ma non è riuscito:
# ip route add 10.128.0.0/16 via 10.255.255.252
RTNETLINK answers: Network is unreachable
Immagino che sia abbastanza ingenuo aggiungere la route alla rete remota in questo modo. Come posso farlo correttamente? Forse, dovrei condividere il routing table in 10.255.255.252 in qualche modo?
MODIFICA 1:
Ho provato il suggerimento di Marius
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Ma non ha cambiato nulla. Le tabelle NAT iptables ora lo mostrano sulla workstation:
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
MODIFICA 2:
Sono in grado di connettermi alle porte nella rete 10.128.0.0/16 tramite la porta SSH
ssh -L 5432:10.128.29.59:5432 user@10.255.255.252
Dopo questo inoltro sono in grado di connettermi a 10.128.29.59:5432 tramite localhost: 5432. Quindi, quello che voglio veramente è solo l'opzione per connettersi direttamente a 10.128.29.59:5432.
MODIFICA 3:
Io uso openvpn per connettermi a VPN.
ip route su localhost:
$ ip route
default via 192.168.1.1 dev wlp2s0 src 192.168.1.253 metric 302
10.0.0.0/16 via 192.168.193.29 dev tun1
10.255.0.0/16 via 192.168.193.29 dev tun1
192.168.1.0/24 dev wlp2s0 proto kernel scope link src 192.168.1.253 metric 302
192.168.193.0/24 via 192.168.193.29 dev tun1
192.168.193.29 dev tun1 proto kernel scope link src 192.168.193.30
193.26.135.101 via 192.168.193.29 dev tun1
213.24.160.78 via 192.168.193.29 dev tun1
Percorso IP su workstation:
$ ip route
193.26.135.101 via 10.255.255.251 dev tun0
213.24.160.78 via 10.255.255.251 dev tun0
10.255.255.251 dev tun0 proto kernel scope link src 10.255.255.252
192.168.193.0/24 via 10.255.255.251 dev tun0
192.168.225.0/24 dev wlan0 proto kernel scope link src 192.168.225.165
10.0.0.0/16 via 10.255.255.251 dev tun0
10.255.0.0/16 via 10.255.255.251 dev tun0
default via 192.168.225.1 dev wlan0
nmap su una delle porte interessate in 10.128.0.0/16 da localhost:
$ nmap -p5432 10.128.29.59/32
Starting Nmap 7.31 ( https://nmap.org ) at 2016-11-02 11:40 MSK
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.11 seconds
dalla postazione di lavoro:
$ nmap -p5432 10.128.29.59/32
Starting Nmap 5.51 ( http://nmap.org ) at 2016-11-02 11:42 MSK
Nmap scan report for 10.128.29.59
Host is up (0.034s latency).
PORT STATE SERVICE
5432/tcp open postgresql
Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds
192.168.193.29
- il tuo unico peer diretto sulla connessione OpenVPN. Cos'è quello? Il tuo server VPN?
192.168.193.29
è il server VPN a cui mi sto collegando, e non sa di cosa mi serve 10.128.0.0/16
Rete. Solo workstation 10.255.255.252
lo sa. Ho pensato, ci dovrebbe essere un modo per gestire il percorso usando 10.255.255.252
?
p2p
/ net30
a subnet
.
ip route
quando connesso alla VPN. Inoltre, quale software VPN stai usando?