Pertanyaan
Ketika saya memulai VPN saya di komputer desktop ubuntu saya yang bertindak sebagai router, subnet yang tersambung kehilangan konektivitas internet, tetapi masih dapat diakses (LAN). Idealnya, saya ingin tahu cara mengaktifkan subnet yang terpasang untuk mendapatkan kembali akses internet dengan merutekan melalui terowongan VPN saat VPN aktif.
Konteks
Saya memiliki tata letak jaringan berikut:
subnet 172.16.0.0/20 tentang eth0 untuk mesin virtual VirtualBox saya.
subnet 192.168.0.0/24 pada eth0: 0 yang terhubung ke gateway 192.168.0.1 yang memiliki akses internet.
Ini ditampilkan di file / etc / network / interfaces:
auto lo
iface lo inet loopback
# This is the subnet dedicated to VB
auto eth0
iface eth0 inet static
address 172.16.0.1
netmask 255.255.0.0
gateway 192.168.0.164
dns-nameservers 8.8.8.8
# normal DHCP internet
auto eth0:0
iface eth0:0 inet static
address 192.168.0.164
netmask 255.255.255.0
dns-nameservers 8.8.8.8
gateway 192.168.0.1
Paket-paket pada eth0 diteruskan melalui eth0: 0 dengan menyamar dan konektivitas internet normal baik-baik saja. Namun ketika saya memulai terowongan VPN saya di router ini, konektivitas internet hilang untuk VM di subnet eth0 (masih tetap untuk router).
Di bawah ini adalah output ifconfig ketika terowongan aktif:
eth0 Link encap:Ethernet HWaddr 00:1f:bc:01:c3:ab
inet addr:172.16.0.1 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr: fe80::21f:bcff:fe01:c3ab/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:165426 errors:0 dropped:0 overruns:0 frame:0
TX packets:182601 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:208264321 (208.2 MB) TX bytes:16660945 (16.6 MB)
Interrupt:16
eth0:0 Link encap:Ethernet HWaddr 00:1f:bc:01:c3:ab
inet addr:192.168.0.164 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:16
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:381963 errors:0 dropped:0 overruns:0 frame:0
TX packets:381963 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:22755054 (22.7 MB) TX bytes:22755054 (22.7 MB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.10 P-t-P:10.8.0.9 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Saya menduga bahwa solusinya akan ada hubungannya dengan tabel routing . Ini menunjukkan yang berikut ketika terowongan aktif :
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.8.0.9 128.0.0.0 UG 0 0 0 tun0
default 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
10.8.0.0 10.8.0.9 255.255.255.0 UG 0 0 0 tun0
10.8.0.9 * 255.255.255.255 UH 0 0 0 tun0
37.139.23.49 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.8.0.9 128.0.0.0 UG 0 0 0 tun0
link-local * 255.255.0.0 U 1000 0 0 eth0
172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
dan berikut ini ketika terowongan tidak aktif :
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
Konfigurasi kotak virtual untuk Vms:
Salah satu /etc/network/interfaces
file VM :
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 172.16.0.3
netmask 255.255.0.0
network 172.16.0.0
broadcast 172.16.255.255
gateway 172.16.0.1
dns-nameservers 8.8.8.8
Jawaban:
Ini tidak akan berfungsi dalam pengaturan Bridged Networking . Dari dokumentasi VirtualBox :
Karena mesin virtual Anda menggunakan
eth0
secara langsung, mereka tidak mengetahuitun0
antarmuka ke terowongan yang melewatinya. Anda perlu menggunakan konfigurasi jaringan virtual yang berbeda.Anda memiliki (antara lain) opsi ini:
Network Address Translation (NAT) sejauh ini merupakan solusi paling sederhana. VirtualBox akan melakukan NAT pada VM melalui koneksi internet apa pun yang tersedia untuk host. Ini sepenuhnya transparan untuk VM. Namun ini menghalangi koneksi dari host ke VM atau koneksi antara VM.
Gunakan Host-only Networking untuk membuat subnet yang tepat yang berisi VM dan host. Ini tidak memerlukan perubahan dalam konfigurasi antarmuka yang sekarang Anda miliki di VM, tetapi Anda perlu mengatur host untuk menjadi gateway dan router, dan membuatnya NAT VMs ke luar (baik di seberang
eth0
atautun0
).Gabungkan yang di atas: berikan masing-masing VM dua antarmuka, satu gateway ke dunia luar (di NAT VirtualBox ) dan lainnya terhubung ke Host-Only LAN .
Coba konfigurasi Jaringan NAT eksperimental VirtualBox . Pembaruan 2019: fitur ini telah jatuh tempo: lampirkan ke host NAT dan pilih jenis adaptor jaringan Paravirtualized (virtio-net) .
sumber
Untuk VirtualBox dengan host windows host dan linux (mint), buka tab Network UI dan atur untuk "Adapter" => "Terlampir ke: NAT" dan "Tipe adaptor: Jaringan paravirtualized". Setelah itu mulai VM Anda dan Anda harus dapat menggunakan jaringan VPN.
sumber
Setelah mencari solusi ini di mana-mana, saya akhirnya menemukan solusi yang tidak memerlukan banyak perubahan konfigurasi dan sangat sederhana. Gunakan jaringan NAT default dan ketik ini di terminal:
sumber: https://www.virtualbox.org/ticket/13993
sumber
Punya masalah yang sama. Inilah cara saya menyelesaikannya:
ifconfig vboxnet0
untuk menemukannya.Langkah terakhir adalah merutekan paket yang berasal dari vboxnet0 ke VPN Anda.
Jika Anda merutekan semua lalu lintas melalui VPN:
Di mana
10.8.0.5
tun0 gateway Anda dan192.168.5.0/24
jangkauan jaringan vboxnet0 Anda.Jika Anda hanya merutekan lalu lintas tertentu melalui VPN:
Di mana
10.8.0.5
tun0 gateway Anda dan192.168.43.95
merupakanwlan0
gateway Anda dan192.168.5.0/24
merupakan jangkauan jaringan vboxnet0 Anda.Catatan: Solusi ini memungkinkan Guest OS diperlakukan dengan cara yang sama dengan Host OS. Hanya IP yang dikonfigurasi untuk melalui VPN di Host OS yang akan melewatinya di Tamu.
sumber
Berikut adalah beberapa info berguna untuk kotak gelandangan menggunakan host vpn. Pada dasarnya Anda perlu mengatur opsi natdnshostresolver1 Perhatikan bahwa ini TIDAK akan bekerja ketika menggunakan pengaturan public_network Vagrant.
http://renier.morales-rodriguez.net/post/90674523562/sharing-host-vpn-with-virtualbox-guest http://blog.geekslikeshinythings.com/2016/05/sharing-host-vpn-with-vagrant -rob-allen.html
sumber