Menyiapkan server jaringan pribadi virtual Anda sendiri adalah cara yang baik untuk menghindari pemblokiran dan dapat mengakses situs yang diblokir di negara Anda. Pilihan paket VPN open source cukup panjang tetapi hari ini kami memutuskan untuk mencoba Softether yang berasal dari University of Tsukuba di Jepang. Softether telah lama menjadi produk berpemilik dengan nama PacketX dan telah menjadi open source beberapa tahun yang lalu. Itu mungkin alasan mengapa begitu berorientasi Windows, konfigurasi GUI hanya windows dan menghubungkan dari klien Linux memerlukan kerja ekstra. Kami hanya akan menggunakan Linux dan tidak ada GUI di sini, jadi mari kita mulai. Pada awalnya, mari perbarui sistem, instal dependensi, dan nonaktifkan SElinux
yum update
yum -y groupinstall "Development Tools"
yum -y install gcc zlib-devel openssl-devel readline-devel ncurses-devel wget tar dnsmasq net-tools iptables-services system-config-firewall-tui nano iptables-services
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Setelah ini reboot komputer jadi selinux berhenti dan kernel baru mulai jika pembaruan memiliki kernel baru. Setelah server boot, nonaktifkan kedua firewall karena dapat mengganggu pengujian. Aturan firewall akan ditetapkan setelah semua dikonfigurasi
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
service iptables save
service iptables stop
chkconfig iptables off
Dari dua kumpulan perintah tersebut, satu akan error karena Anda tidak menjalankan dua firewall. Selanjutnya kita perlu cd ke /usr/src, download Softether, unpack dan kompilasi. Kami akan menggunakan Softether versi 4.20 yang pada saat penulisan versi rtm terbaru. Ada juga 4.21 tapi itu beta.
wget www.softether-download.com/files/softether/v4.20-9608-rtm-2016.04.17-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz

tar xzvf softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz -C /usr/local
cd /usr/local/vpnserver
make
Compile akan menanyakan tiga pertanyaan di akhir, Anda harus menjawab semuanya dengan 1.
Selanjutnya kita perlu membuat skrip init untuk softether, karena salah satunya tidak disertakan dalam instalasi. Jadi jalankan vi /etc/init.d/vpnserver dan buat paste script ini.
#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable Softether by daemon.
### END INIT INFO
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
TAP_ADDR=192.168.7.1
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
Selanjutnya perlu menambahkan bit yang dapat dieksekusi ke skrip init dan memulainya untuk pertama kali dengan cara lama dan kemudian mengaktifkannya dengan systemd untuk memulai setiap boot.
chmod +x /etc/init.d/vpnserver
/etc/init.d/vpnserver start
systemctl enable vpnserver
Jangan keberatan bahwa itu mengeluh tentang antarmuka tap, itu karena kami menambahkannya ke skrip init dan membuatnya mulai dengan softether tetapi belum membuat antarmuka tap di konfigurasi softether. Kami akan membahas yang terakhir.
Softether sudah terpasang, sekarang kita konfigurasi
Pindah ke bagian konfigurasi, kita perlu memulai utilitas vpncmd
/usr/local/vpnserver/vpncmd
Tekan 1 untuk memilih "Management of VPN Server or VPN Bridge", dan kemudian ketika ditanya server mana yang akan dikonfigurasi, cukup tekan enter dan itu akan memilih localhost tempat Anda baru saja menginstal Softether. Tekan Enter sekali lagi untuk mendapatkan akses ke server sebagai Administrator. Jenis berikutnya
ServerPasswordSet
untuk mengatur kata sandi admin untuk server. Untuk menggunakan softether, hub virtual perlu dibuat. Kami akan membuat satu bernama MOB dengan perintah berikut
HubCreate MOB
Ini akan meminta Anda untuk mengatur kata sandi, yang akan Anda gunakan untuk mengelola hub, tanpa akses ke seluruh server VPN.
Sekarang kita perlu membuat jembatan lokal. Itu lebih efisien, ada juga SecureNAT yang lebih mudah diatur tetapi intensif sumber daya. Kami akan menggunakan jembatan lokal dan perangkat ketuk, perhatikan bahwa dengan jembatan lokal juga server DHCP perlu dikonfigurasi dan diinstal yang akan dilakukan di akhir tutorial. Jadi jembatan lokal dibuat dengan perintah berikut:
BridgeCreate /DEVICE:"soft" /TAP:yes MOB
Jika pembuatan perangkat TAP gagal dengan pesan tentang hak istimewa yang tidak mencukupi, Anda mungkin ingin memeriksa apakah pengontrol jaringan Anda diatur dalam mode promiscuous. HyperV dan VMware secara default membuat VM tanpa mode promiscuous. Setel mode promiscuous, lalu coba lagi pembuatan perangkat tap.
Sekarang kita perlu membuat pengguna untuk hub virtual MOB yang kita buat. Pengguna dibuat dengan perintah UserCreate dan Anda dapat melihat daftar pengguna dengan perintah UserList. Pengguna dapat ditambahkan ke grup dan setiap grup dapat memiliki mode otentikasi yang berbeda, misalnya Kata Sandi, Sertifikat, RADIUS, NTLM, dan lainnya.
Mengonfigurasi Hub virtual
Sekarang kita beralih ke hub MOB
Hub MOB
dan buat pengguna
UserCreate test
Kami akan membuatnya sederhana dan menggunakan auth sandi, jadi gunakan perintah berikut
UserPasswordSet test
Sekarang kita setup L2TP/IPSec, kerjakan prompt sebagai berikut, tebal adalah apa yang Anda butuhkan untuk mengetik:
VPN Server/MOB>IPsecEnable
IPsecEnable command - Enable or Disable IPsec VPN Server Function
Enable L2TP over IPsec Server Function (yes / no): yes
Enable Raw L2TP Server Function (yes / no): yes
Enable EtherIP / L2TPv3 over IPsec Server Function (yes / no): yes
Pre Shared Key for IPsec (Recommended: 9 letters at maximum): linoxide
Default Virtual HUB in a case of omitting the HUB on the Username: MOB
The command completed successfully.
Itu saja untuk IPsec, tetapi kami juga ingin memiliki protokol lain. Misalnya protokol OpenVPN dan Microsoft. Kami menggunakan ServerCertRegenerate perintah untuk membuat dan mendaftarkan sertifikat SSL untuk server agar dapat digunakan untuk klien OpenVPN dan Microsoft. Argumen yang diteruskan ke perintah harus alamat IP server Anda atau FQDIN:
ServerCertRegenerate <YOUR SERVER IP or FQDN>
Sertifikat server baru telah dibuat, kita perlu menyimpannya ke file:
ServerCertGet ~/cert.cer
Sertifikat ini sekarang dapat ditransfer ke klien Anda. Kita sekarang dapat mengaktifkan fungsi SSTP dengan perintah ini:
SstpEnable yes
Dan untuk mengaktifkan OpenVPN:
OpenVpnEnable yes /PORTS:1194
Port untuk OpenVPN dapat diubah sesuai keinginan Anda. Kemudian kita perlu membuat konfigurasi untuk klien OpenVPN seperti ini
OpenVpnMakeConfig ~/openvpn_config.zip
VPN melalui DNS dan VPN melalui ICMP
Ketik Hub untuk kembali mengelola seluruh server vpn dan bukan hanya hub MOB.
VPN Server/MOB>Hub
Hub command - Select Virtual Hub to Manage
The Virtual Hub selection has been unselected.
The command completed successfully.
Untuk menghindari semua penyumbatan secara maksimal, kita juga perlu mengaktifkan VPN melalui ICMP dan DNS:
VpnOverIcmpDnsEnable /ICMP:yes /DNS:yes
VpnOverIcmpDnsEnable command - Enable / Disable the VPN over ICMP / VPN over DNS Server Function
The command completed successfully.
Sekarang keluar dari vpncmd karena kita harus menghentikan vpnserver dan mengatur dnsmasq
service vpnserver stop
Server DHCP, penerusan dan pascaperutean
Softether sekarang dikonfigurasi, tetapi karena kami tidak menggunakan SecureNAT dan menggunakan jembatan lokal, akan memerlukan server DHCP. DNSmasq sudah terinstal di tutorial tahap pertama saat kita menginstal dependensi, jadi sekarang kita perlu mengkonfigurasinya. Kita perlu mengedit /etc/dnsmasq.conf atau menggunakan perintah echo untuk menambahkan baris yang diperlukan. Kami akan menggunakan opsi terakhir dan saat kami melakukannya, kami juga akan menggemakan ipv4_forwarding.conf
echo interface=tap_soft >> /etc/dnsmasq.conf
echo dhcp-range=tap_soft,192.168.7.50,192.168.7.90,12h >> /etc/dnsmasq.conf
echo dhcp-option=tap_soft,3,192.168.7.1 >> /etc/dnsmasq.conf
echo port=0 >> /etc/dnsmasq.conf
echo dhcp-option=option:dns-server,8.8.8.8 >> /etc/dnsmasq.conf
echo net.ipv4.ip_forward = 1 >> /etc/sysctl.d/ipv4_forwarding.conf
Terapkan pengaturan ini dengan menjalankan
sysctl -n -e --system
Periksa apakah sudah diterapkan:
cat /proc/sys/net/ipv4/ip_forward
Seharusnya menunjukkan 1. Jika itu menunjukkan 0, lakukan ini
echo 1 > /proc/sys/net/ipv4/ip_forward
Aktifkan nat dan postrouting:
iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j SNAT --to-source [YOUR SERVER IP ADDRESS]
iptables-save > /etc/sysconfig/iptables
Mulai ulang server vpn dan dhcp dengan perintah berikut dan aktifkan untuk memulai setiap boot:
service vpnserver start
systemctl start dnsmasq
systemctl enable dnsmasq
chkconfig vpnserver on
Kesimpulan
Itu menyimpulkan instalasi dan konfigurasi server Softether VPN. Ini dikonfigurasi dengan Jembatan Lokal untuk kinerja maksimum, kita hanya perlu menghubungkan klien. Yang Windows dan Android mudah, untuk Windows Anda cukup menuju ke situs Softether dan mengunduh klien GUI dan terhubung. Untuk android, Anda bahkan tidak perlu itu, Anda memiliki klien VPN bawaan. Tetapi untuk Linux, untuk dapat terhubung, Anda memerlukan sakelar Virtual Layer-3 di Server, dan Anda perlu menjalankan dhclient pada antarmuka virtual pada klien GNU/ mesin Linux. Pada artikel mendatang kami akan berkonsentrasi pada klien Desktop GNU/Linux yang tidak disukai oleh orang-orang dari Universitas Tsukuba karena alasan tertentu dan memerlukan semua langkah tambahan ini.