PI sebagai router VPN untuk mesin lokal

18

Saya ingin mengaktifkan beberapa mesin saya untuk mengakses internet melalui koneksi VPN. Ide saya adalah bahwa PI dapat dengan mudah melakukan koneksi dan kemudian merutekan permintaan dari mesin lain melalui itu.

Saya berpikir bahwa pengaturan router default perangkat ke IP PI.

Meskipun entah bagaimana berpengalaman dengan konfigurasi baris perintah dari banyak hal, bisakah Anda mengarahkan saya ke petunjuk tentang paket / layanan apa yang saya butuhkan?

Ringkasan pengaturan:

  • PI terhubung ke internet secara langsung melalui router default
  • PI membuat koneksi VPN (OpenVPN) dan mendengarkan antarmuka lokal untuk lalu lintas
  • PI membangun kembali koneksi pada kegagalan
  • perangkat jaringan lain memiliki gateway default yang diatur ke IP PI dan semua lalu lintas mereka melewati VPN, asalkan sudah naik (dan tidak ada koneksi internet jika VPN sedang down).

Saya tidak perlu layanan NAT atau DHCP (DNS juga bisa melalui VPN).

petr
sumber
apa gunanya? jika Anda menggunakan Pi di jaringan lokal Anda untuk membuat koneksi keluar, mengapa Anda tidak menggunakan komputer lain untuk membuat koneksi keluar yang sama secara langsung, menghemat biaya Pi dan sakit kepala instalasi dan pengaturan perangkat lunak? pengaturan VPN konvensional adalah komputer di jaringan lokal Anda, yang mendengarkan koneksi masuk dan memeriksa kata sandi dan kemudian membiarkan komputer jarak jauh untuk menggunakan jaringan lokal Anda secara langsung, bukan sebaliknya.
Lenik
1
@lenik intinya adalah bahwa saya memiliki banyak mesin yang menggunakan koneksi VPN yang sama. Selain itu, jauh lebih mudah untuk mengkonfigurasi satu mesin daripada terus mengubah beberapa mesin konfigurasi memastikan mereka memanggil ulang dll. Dan Anda benar - itu bukan pengaturan standar, jika itu, saya mungkin akan mencari tutorial dan tidak meminta
petr
1
Belum lagi bahwa menggunakan perangkat lain untuk melakukan perutean membuat pekerjaan memastikan bahwa SEMUA lalu lintas melewati VPN menjadi lebih mudah
petr
3
Beberapa perangkat juga tidak dapat terhubung ke VPN. Perangkat ini mencakup banyak konsol game, dan perangkat lain yang tidak menjalankan sistem operasi standar yang dapat dengan mudah dikonfigurasi untuk terhubung ke VPN.
Kibbee
@lenik Pengaturan ini biasa terjadi pada peralatan jaringan tingkat perusahaan. Ini built-in router mulai dari sekitar $ 300 ke atas. OP sedang mencari solusi untuk sekitar 10 dari harga ... seperti saya.
Philip Couling

Jawaban:

15

Saya memiliki pengaturan yang sama seperti Anda:

Cable modem -> Router (192.168.1.1) +-> Raspberry Pi (192.168.1.11)
                                    |-> iPad (DHCP)
                                    |-> PC (DHCP)
                                    `-> AppleTV (DHCP)

Pertama, saya mengubah pengaturan jaringan saya ( /etc/network/interfaces) pada RPi ke alamat statis

iface eth0 inet static
address 192.168.1.11
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Setelah itu, Anda perlu mengatur OpenVPN pada RPi:

sudo apt-get install openvpn

Selanjutnya, Anda harus mengatur file konfigurasi untuk vpn /etc/openvpn/server.conf. Saya menggunakan sampel yang disediakan oleh layanan vpn saya (WiTopia) dan perubahan dev tunke dev tun0dan ditambahkan redirect-gatewaydi akhir.

Langkah selanjutnya, modifikasi iptables untuk memungkinkan NAT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Untuk membuatnya permanen, simpan seperti ini

sudo bash
iptables-save > /etc/iptables.up.rules
nano /etc/network/if-pre-up.d/iptables

Tambahkan ini ke file baru:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

Simpan dan buat itu bisa dieksekusi dengan chmod +x /etc/network/if-pre-up.d/iptables. Anda sekarang perlu mengaktifkan penerusan IP dengan mengedit /etc/sysctl.confdan menghapus tanda komentar pada baris tersebutnet.ipv4.ip_forward = 1

Reboot dan RPi harus terhubung ke VPN Anda dan siap menerima lalu lintas masuk. Saya menambahkan opsi baru ke layanan dhcp saya di router saya (menjalankan OpenWrt) untuk menentukan gateway yang dikirim ke klien. Saya menambahkan baris list 'dhcp_option' '3,192.168.1.11'ke file /etc/config/dhcpdan me-reboot router. IPad, PC, dan AppleTV saya sekarang terhubung melalui RPi untuk mengakses url eksternal.

Sumber:

StebQC
sumber
1
Saya baru saja selesai menyiapkan konfigurasi serupa akhir pekan lalu. Saya juga harus menambahkan "net.ipv4.tcp_ecn = 0" ke file /etc/sysctl.conf. Tidak yakin apa fungsinya, tetapi gateway tidak akan berfungsi dengan baik tanpanya.
Kibbee
Ini berhasil bagi saya, dengan satu modifikasi: aturan NAT seharusnyaiptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Regan Walsh
0

Mencoba

https://help.ubuntu.com/community/OpenVPN

Raspbian harus cukup dekat dengan Ubuntu agar pengaturannya sama, dan saya baru saja memeriksa bahwa paket OpenVPN tersedia di repo Raspbian.

Namun, perhatikan bahwa sebagian besar instruksi VPN akan memberi tahu Anda cara membuat server untuk membuka klien LAN ke VPN di internet daripada sebaliknya, jadi Anda mungkin perlu bereksperimen sedikit dengan pengaturan perutean.

Matt Thomason
sumber
Terima kasih, yang saya mengerti sedikit lebih baik - apa yang saya tidak yakin adalah bagaimana membuat PI mendengarkan koneksi dan meneruskannya melalui VPN?
petr
1
@petr Anda hanya perlu menjalankan sysctl -w net.ipv4.ip_forward = 1, dan minta mesin Anda yang lain menggunakan RPI sebagai gateway default, dan RPI akan dengan senang hati merutekan.
nos
0

Tidak tahu apakah ini berguna, tapi saya menggunakan VPN di Raspberry Pi dari penyedia vpn ketika saya bepergian dari Amerika Serikat ke Cina , mereka memiliki skrip dd-wrt yang saya instal dan berfungsi sejak pertama kali. Jadi mungkin Anda bisa menyelamatkan diri dari banyak masalah jika Anda mencari penyedia dengan skrip dd-wrt yang sudah dibuat. Jika ada yang ingin tahu tentang skrip saya dapat mempostingnya di sini.

Michael Donnahew
sumber
0

Berikut ini adalah pengaturan saya yang sangat mirip dengan kebutuhan Anda; satu-satunya yang Anda butuhkan, menginstal klien OpenVPN dan melakukan beberapa konfigurasi pada Raspbian. masukkan deskripsi gambar di sini

Saya menggambarkannya di blog saya; Menyiapkan VPN Gateway dengan Raspberry PI

afelaho
sumber
Halo dan selamat datang! Saat ini saya tidak berpikir bahwa pertanyaan "bisakah Anda mengarahkan saya ke petunjuk tentang paket / layanan apa yang saya butuhkan? Bisakah Anda mengarahkan saya ke petunjuk pada paket / layanan apa yang saya butuhkan?" dibahas dalam jawabannya. Bisakah Anda menjelaskan sedikit lebih banyak tanpa mengharuskan orang untuk mengikuti tautan (yang sebenarnya hanyalah angka lagi)?
Ghanima
@ Ganima, terima kasih atas komentar Anda. Saya telah mengubah jawaban saya.
afelaho