Mengapa alokasi IP statis klien ini di OpenVPN gagal?


8

Saya menjalankan server OpenVPN, dan saya ingin menetapkan IP statis untuk klien tertentu.

Ini adalah server.conf saya. Saya pikir ini mengkonfigurasi kumpulan IP virtual untuk rentang dari 10.5.24.209 ke 10.5.24.223.

port 443
proto tcp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.5.24.208 255.255.255.240
#This netmask should span IPs .208-.223.
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 168.xx.xx.xx"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
client-to-client
client-config-dir ccd

Ini adalah isi /etc/openvpn/ccd/W7LocalVM, di mana W7LocalVM adalah Nama Umum klien saya. Saya tidak begitu mengerti apa yang direktif ini lakukan, tetapi saya pikir IP pertama harus menjadi IP statis yang diinginkan klien saya, dan IP kedua harus menjadi IP server saya.

ifconfig-push 10.5.24.210 10.5.24.209

Namun, ketika saya mencoba menghubungkan klien saya dengan konfigurasi server ini, saya mendapatkan kesalahan berikut:

Mon Aug 07 14:07:34 2017 Set TAP-Windows TUN subnet mode network/local/netmask = 10.5.24.208/10.5.24.210/10.5.24.209 [SUCCEEDED]
Mon Aug 07 14:07:34 2017 MANAGEMENT: Client disconnected
Mon Aug 07 14:07:34 2017 ERROR: --ip-win32 dynamic [offset] : offset is outside of --ifconfig subnet
Mon Aug 07 14:07:34 2017 Exiting due to fatal error

Saya pikir IP 10.5.24.210 akan berada dalam subnet yang ditentukan di sisi server, dan saya tidak mengerti mengapa saya mendapatkan kesalahan ini. Adakah yang bisa membantu saya dalam hal ini?


1
Saya sarankan meminta ini pada Server Fault sebagai gantinya, bisa mendapatkan umpan balik yang lebih bermanfaat karena situs itu didedikasikan untuk masalah administrasi server.
EJoshuaS

Baik. Terima kasih. Tidak tahu tentang komunitas itu. Haruskah saya mem-posting ulang, atau adakah fitur yang memungkinkan saya memigrasi pos?
Magnus

1
Anda dapat menandai untuk intervensi moderator dan meminta mereka untuk bermigrasi. (Untuk beberapa situs, seperti Pengguna Super, komunitas dapat memilih untuk bermigrasi, tetapi migrasi ke situs tersebut harus dilakukan oleh moderator).
EJoshuaS

Jawaban:


4

Masalah ini dibuat karena openvpn mencoba mengurai opsi ifconfig Anda sebagai ip diikuti oleh subnet mask.

Menurut halaman manual:

- Moda topologi

...

subnet - Gunakan subnet daripada topologi point-to-point dengan mengkonfigurasi antarmuka tun dengan alamat IP lokal dan subnet mask, mirip dengan topologi yang digunakan dalam mode --dev tap dan mode bridging ethernet. Mode ini mengalokasikan satu alamat IP per klien yang terhubung dan bekerja di Windows juga. Hanya tersedia ketika server dan klien OpenVPN 2.1 atau lebih tinggi, atau OpenVPN 2.0.x yang telah ditambal secara manual dengan kode petunjuk --topology. Ketika digunakan pada Windows, memerlukan versi 8.2 atau lebih tinggi dari driver TAP-Win32. Ketika digunakan pada * nix, mengharuskan tun driver mendukung perintah ifconfig (8) yang menetapkan subnet alih-alih alamat IP endpoint jarak jauh.

Opsi ini ada di OpenVPN 2.1 atau lebih tinggi.

Catatan: Menggunakan subnet --topology mengubah interpretasi argumen --ifconfig berarti "address netmask", tidak lagi "local remote".

--ifconfig l rn

Atur parameter TUN / TAP adaptor. l adalah alamat IP titik akhir VPN lokal. Untuk perangkat TUN dalam mode point-to-point, rn adalah alamat IP dari titik akhir VPN jarak jauh. Untuk perangkat TAP, atau perangkat TUN yang digunakan dengan subnet --topology , rn adalah subnet mask dari segmen jaringan virtual yang sedang dibuat atau dihubungkan . Untuk perangkat TUN, yang memfasilitasi koneksi IP point-to-point virtual (bila digunakan dalam mode --topology net30 atau p2p), penggunaan --ifconfig yang tepat adalah dengan menggunakan dua alamat IP pribadi yang bukan anggota dari setiap subnet yang ada yang sedang digunakan. Alamat IP mungkin berturut-turut dan harus dibalik urutannya pada rekan jauh. Setelah VPN dibuat, dengan melakukan ping rn, Anda akan melakukan ping di VPN.

Untuk perangkat TAP, yang menyediakan ....

Di dalam kode server Anda, Anda mengatur topologi Anda subnet, dan kemudian mendorongnya ke klien menggunakan serverpernyataan.

Menurut dokumentasi di atas, alih-alih mendorong ifconfig Anda menggunakan alamat "local", "remote", Anda perlu menambahkan yang berikut ke "/ etc / openvpn / ccd / W7LocalVM":

ifconfig-push 10.5.24.210 255.255.255.252
push route 10.5.24.210 255.255.255.252
# ifconfig 10.5.24.209 255.255.255.252

Baris terakhir mungkin tidak diperlukan, tetapi dibiarkan sebagai contoh apa yang ifconfig-push "harus" lakukan di sisi server untuk membuat koneksi berfungsi.


Saya menulis komentar di sini menanyakan mengapa Anda menyarankan mengalokasikan empat IP per klien, tetapi saya cukup rajin untuk menemukan jawabannya di FAQ. Terima kasih telah memecahkan teka-teki!
Magnus
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.