Máy chủ OpenConnect, còn được gọi là ocserv, là máy chủ VPN giao tiếp qua SSL. Theo thiết kế, mục tiêu của nó là trở thành một máy chủ VPN an toàn, gọn nhẹ và nhanh chóng. Máy chủ OpenConnect sử dụng giao thức OpenConnect SSL VPN. Tại thời điểm viết bài, nó cũng có khả năng tương thích thử nghiệm với các máy khách sử dụng giao thức AnyConnect SSL VPN.
Bài viết này sẽ chỉ cho bạn cách cài đặt và thiết lập ocserv trên Ubuntu 14.04 x64.

Cài đặt ocserv
Vì Ubuntu 14.04 không được phát hành với ocserv, chúng tôi sẽ phải tải xuống mã nguồn và biên dịch nó. Phiên bản ổn định mới nhất của ocserv là 0.9.2.
Tải về ocserv từ trang web chính thức.
wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.9.2.tar.xz
tar -xf ocserv-0.9.2.tar.xz
cd ocserv-0.9.2
Tiếp theo, cài đặt các phụ thuộc biên dịch.
apt-get install build-essential pkg-config libgnutls28-dev libwrap0-dev libpam0g-dev libseccomp-dev libreadline-dev libnl-route-3-dev
Biên dịch và cài đặt ocserv.
./configure
make
make install
Cấu hình ocserv
Một tập tin cấu hình mẫu được đặt dưới thư mục ocser-0.9.2/doc. Chúng tôi sẽ sử dụng tệp này làm mẫu. Đầu tiên, chúng tôi phải tạo chứng chỉ CA và chứng chỉ máy chủ của riêng mình.
cd ~
apt-get install gnutls-bin
mkdir certificates
cd certificates
Chúng tôi tạo một tệp mẫu CA ( ca.tmpl) với nội dung tương tự như sau. Bạn có thể thiết lập "cn" và "tổ chức" của riêng mình.
cn = "VPN CA"
organization = "Big Corp"
serial = 1
expiration_days = 3650
ca
signing_key
cert_signing_key
crl_signing_key
Sau đó, tạo khóa CA và chứng chỉ CA.
certtool --generate-privkey --outfile ca-key.pem
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem
Tiếp theo, tạo tệp mẫu chứng chỉ máy chủ cục bộ ( server.tmpl) với nội dung bên dưới. Vui lòng chú ý đến trường "cn", nó phải khớp với tên DNS hoặc địa chỉ IP của máy chủ của bạn.
cn = "you domain name or ip"
organization = "MyCompany"
expiration_days = 3650
signing_key
encryption_key
tls_www_server
Sau đó, tạo khóa máy chủ và chứng chỉ.
certtool --generate-privkey --outfile server-key.pem
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
Sao chép khóa, chứng chỉ và tệp cấu hình vào thư mục cấu hình ocserv.
mkdir /etc/ocserv
cp server-cert.pem server-key.pem /etc/ocserv
cd ~/ocserv-0.9.2/doc
cp sample.config /etc/ocserv/config
cd /etc/ocserv
Chỉnh sửa tập tin cấu hình dưới /etc/ocserv. Uncomment hoặc sửa đổi các lĩnh vực được mô tả dưới đây.
auth = "plain[/etc/ocserv/ocpasswd]"
try-mtu-discovery = true
server-cert = /etc/ocserv/server-cert.pem
server-key = /etc/ocserv/server-key.pem
dns = 8.8.8.8
# comment out all route fields
#route = 10.10.10.0/255.255.255.0
#route = 192.168.0.0/255.255.0.0
#route = fef4:db8:1000:1001::/64
#no-route = 192.168.5.0/255.255.255.0
cisco-client-compat = true
Tạo người dùng sẽ được sử dụng để đăng nhập vào ocserv.
ocpasswd -c /etc/ocserv/ocpasswd username
Kích hoạt NAT.
iptables -t nat -A POSTROUTING -j MASQUERADE
Cho phép chuyển tiếp IPv4. Chỉnh sửa tập tin /etc/sysctl.conf.
net.ipv4.ip_forward=1
Áp dụng sửa đổi này.
sysctl -p /etc/sysctl.conf
Bắt đầu ocserv và kết nối bằng Cisco AnyConnect
Đầu tiên, bắt đầu ocserv.
ocserv -c /etc/ocserv/config
Sau đó, cài đặt Cisco AnyConnect trên bất kỳ thiết bị nào của bạn, chẳng hạn như iPhone, iPad hoặc thiết bị Android. Vì chúng tôi đã sử dụng khóa và chứng chỉ máy chủ tự ký, chúng tôi phải bỏ chọn tùy chọn ngăn máy chủ không an toàn. Tùy chọn này nằm trong cài đặt của AnyConnect. Tại thời điểm này, chúng tôi có thể thiết lập kết nối mới với tên miền hoặc địa chỉ IP của ocserv của chúng tôi và tên người dùng / mật khẩu mà chúng tôi đã tạo.
Kết nối và tận hưởng!