Tetapkan Alamat IP Statis untuk Klien OpenVPN
OpenVPN memiliki kemampuan untuk menetapkan alamat IP khusus klien dari kumpulan IP yang ditentukan. Untuk mencapai ini, ia menggunakan tiga jenis algoritma pemilihan alamat IP klien. Ini termasuk, dalam urutan penggunaannya;
- Penggunaan
--client-connect script
. Ini melibatkan eksekusi skrip tertentu yang menghasilkan file yang berisi alamat IP statis di server saat klien terhubung. Metode ini biasanya pilihan pertama untuk dipertimbangkan. - Penggunaan
--client-config-dir
. Ini melibatkan penggunaan file yang berisi alamat IP statis untuk klien sesuai dengan nama umum sertifikat klien (CN) (pilihan kedua ). - Penggunaan
--ifconfig-pool
untuk alokasi IP dinamis (pilihan terakhir ).
Untuk informasi lebih lanjut, lihat man openvpn
.
Dalam panduan ini, kami akan menggunakan opsi kedua, di mana kami akan mengonfigurasi server OpenVPN kami untuk membaca file tertentu, yang berisi nama umum klien dan alamat IP yang dipetakan. Ini memastikan bahwa, klien penghubung diberi alamat IP statis berdasarkan nama umum yang ditentukan pada sertifikat klien mereka.
Dalam panduan kami sebelumnya, kami membahas instalasi dan konfigurasi server OpenVPN pada sistem CentOS 8.
Buat File untuk Menyimpan alamat IP Statis
Penggunaan client-config-dir
opsi, mengharuskan alamat IP statis yang akan ditetapkan untuk menghubungkan klien disimpan dalam file yang dapat dibaca oleh server OpenVPN.
Oleh karena itu, buka file konfigurasi server OpenVPN, /etc/openvpn/server/server.conf
, dan setel jalur Anda ke file penetapan IP statis sebagai nilai untuk client-config-dir
parameter.
vim /etc/openvpn/server/server.conf
... # EXAMPLE: Suppose you want to give # Thelonious a fixed VPN IP address of 10.9.0.1. # First uncomment out these lines: client-config-dir /etc/openvpn/ccd ...
Dalam demo ini, kami menetapkan jalur untuk menyimpan file penetapan alamat IP statis/tetap ke, /etc/openvpn/ccd
. Yah, saya mencoba menggunakan jalur default, /etc/openvpn/server/ccd, tetapi menghasilkan kesalahan di bawah ini;
Could not access file 'ccd/koromicha': Permission denied (errno=13) Could not access file 'ccd/DEFAULT': Permission denied (errno=13)
Jadi sebagai solusi, kami memilih untuk menggunakan jalur yang berbeda, seperti di atas.
Menetapkan Alamat IP Statis ke Klien OpenVPN
Untuk setiap klien OpenVPN yang ingin Anda tetapkan alamat IP statisnya, Anda perlu mengekstrak nama umum dari sertifikat klien tertentu itu.
Dalam demo kami, kami memiliki dua klien OpenVPN yang dibuat, koromicha dan johndoe . Untuk mengekstrak nama umum dari sertifikat klien, gunakan openssl
perintah seperti gambar di bawah ini. Pastikan untuk mengganti sertifikat klien .
openssl x509 -subject -noout -in /etc/openvpn/client/koromicha/koromicha.crt
subject=CN = koromicha
openssl x509 -subject -noout -in /etc/openvpn/client/johndoe/johndoe.crt
subject=CN = johndoe
Setelah Anda memiliki nama umum untuk klien, Anda kemudian dapat menetapkan mereka alamat IP statis menggunakan ifconfig-push
pilihan. Misalnya, untuk menetapkan klien menggunakan sertifikat dengan koromicha
sebagai nama umum sebuah alamat IP, 10.8.0.50
dan klien menggunakan sertifikat dengan johndoe
sebagai CN dan alamat IP 10.8.0.60
, ini adalah bagaimana tugas dilakukan;
echo "ifconfig-push 10.8.0.50 255.255.255.0" > /etc/openvpn/ccd/koromicha
echo "ifconfig-push 10.8.0.60 255.255.255.0" > /etc/openvpn/ccd/johndoe
Perhatikan bahwa, cara Anda menetapkan alamat IP statis bergantung pada topologi yang Anda konfigurasikan pada server OpenVPN Anda. Dalam kasus kami, kami mengatur topologi ke subnet;
# Network topology ... topology subnet
Baca lebih lanjut tentang Konsep Pengalamatan OpenVPN.
Mulai ulang Server OpenVPN;
systemctl restart [email protected]
Pastikan untuk selalu memeriksa log;
tail -f /var/log/openvpn/openvpn.log
Verifikasi Penetapan Alamat IP Statis pada Klien OpenVPN
Dengan asumsi Anda sudah memiliki file konfigurasi OpenVPN klien masing-masing pada klien Anda, mulai koneksi dan verifikasi penetapan alamat IP.
sudo openvpn johndoe.ovpn
Memeriksa alamat IP yang ditetapkan;
ip add show tun0
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100 link/none inet 10.8.0.60/24 brd 10.8.0.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::ea62:fbae:5b45:2d78/64 scope link stable-privacy valid_lft forever preferred_lft forever
Di klien lain;
ip add show tun0
12: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100 link/none inet 10.8.0.50/24 brd 10.8.0.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::c928:c76d:fbd4:6c6a/64 scope link stable-privacy valid_lft forever preferred_lft forever
Memeriksa konektivitas antara dua klien;
ping 10.8.0.60 -c 3
PING 10.8.0.60 (10.8.0.60) 56(84) bytes of data. 64 bytes from 10.8.0.60: icmp_seq=1 ttl=64 time=4.67 ms 64 bytes from 10.8.0.60: icmp_seq=2 ttl=64 time=3.86 ms 64 bytes from 10.8.0.60: icmp_seq=3 ttl=64 time=4.05 ms --- 10.8.0.60 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 3.864/4.196/4.670/0.351 ms
Hanya itu saja. Kami telah mengakhiri panduan kami tentang cara menetapkan alamat IP statis untuk klien OpenVPN.
Tutorial Terkait
Hubungkan ke OpenVPN menggunakan Network Manager di CentOS 8/Ubuntu 18.04
Instal dan Konfigurasikan Klien OpenVPN di CentOS 8/Ubuntu 18.04
Konfigurasikan Klien VPN strongSwan di Ubuntu 18.04/CentOS 8