使用ubuntu18.04配置ocserv服務

一、準備工作

  1. 更新操作系統
apt-get update
apt-get upgrade

二、安裝ocserv

apt-get install ocserv

三、配置證書

  1. 安裝證書工具
apt-get install gnutls-bin
  1. 創建CA證書
cd ~
mkdir certificates
cd certificates
vim ca.tmpl
certtool --generate-privkey --outfile ca-key.pem #生成ca密鑰
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem #生成ca證書

將以下內容貼入ca.tmpl
cn = " your server ip "
organization = " abcd.com "
serial = 1
expiration_days = 3650
ca
signing_key
cert_signing_key
crl_signing_key

  1. 創建server證書
vim server.tmpl
certtool --generate-privkey --outfile server-key.pem #生成server密鑰
certtool --generate-certificate --load-privkey server-key.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template server.tmpl --outfile server-cert.pem #生成server證書

將以下內容貼入server.tmpl
cn = " Your hostname or IP "
organization = "abcd.com "
expiration_days = 3650
signing_key
encryption_key
tls_www_server

  1. 將證書移動到指定的目錄
cp ca-cert.pem /etc/ssl/certs/ca-cert.pem
cp ca-key.pem /etc/ssl/private/ca-key.pem
cp server-cert.pem /etc/ssl/certs/server-cert.pem
cp server-key.pem /etc/ssl/private/server-key.pem

四、配置ocserv服務

  1. 配置ocserv.conf文件
vim /etc/ocserv/ocserv.conf

參照以下進行修改
# 登陸方式,目前先用密碼登錄
auth = “plain[/etc/ocserv/ocpasswd]”
# 允許同時連接的客戶端數量
max-clients = 10
# 限制同一客戶端的並行登陸數量
max-same-clients = 6
# 服務監聽的TCP/UDP端口(選擇你喜歡的數字)
tcp-port = xxxx
udp-port = xxxx
# 自動優化VPN的網絡性能
try-mtu-discovery = true
# 確保服務器正確讀取用戶證書(後面會用到用戶證書)
cert-user-oid = 2.5.4.3
# 服務器證書與密鑰
server-cert = /etc/ssl/certs/server-cert.pem
server-key = /etc/ssl/private/server-key.pem
# 客戶端連上vpn後使用的dns
dns = 8.8.8.8
dns = 8.8.4.4
# 註釋掉所有的route,讓服務器成爲gateway
#route = 192.168.1.0/255.255.255.0
# 啓用cisco客戶端兼容性支持
cisco-client-compat = true

  1. 配置ocserv賬號密碼
root# ocpasswd -c /etc/ocserv/ocpasswd vpnuser
Enter password:
Re-enter password:

五、配置iptable

  1. 自動調整MTU
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  1. 開啓 NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. 開啓 IPv4 轉發
sysctl -w net.ipv4.ip_forward=1
# 或修改配置文件
/etc/sysctl.conf:net.ipv4.ip_forward = 1
  1. 允許端口
iptables -I INPUT -p tcp --dport 443 -j ACCEPT;
iptables -I INPUT -p udp --dport 443 -j ACCEPT;
  1. 保存配置
iptables-save > /etc/iptables.rules
#修改腳本/etc/networks/interfaces文件,在結尾加入以下語句
pre-up iptables-restore <  /etc/iptables.rules

六、開啓服務和調試模式

  1. 調試模式啓動
ocserv -c /etc/ocserv/ocserv.conf -f -d 1
  1. 正常啓動
/etc/init.d/ocserv stop
/etc/init.d/ocserv start
/etc/init.d/ocserv restart

七、其他問題

  1. 如果遇到登陸失敗的情況,重啓ocserv服務即可。
  2. 對於雙網卡轉發:iptable規則應作如下配置:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 出口IP

然後新增rt_table規則自動轉發即可。
3. 待補充

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章