
OpenVPN For Linux
OpenVPN主要配置
创建证书
安装openvpn和easy-rsa
apt update && apt install openvpn easy-rsa -y
创建证书目录
mkdir /etc/openvpn/easy-rsa/ && cd /etc/openvpn/easy-rsa/
cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
修改证书环境
cp vars.example vars
vim vars
# 修改以下内容:
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "SH"
set_var EASYRSA_REQ_CITY "ShangHai"
set_var EASYRSA_REQ_ORG "OpenVPN OpenNW"
set_var EASYRSA_REQ_EMAIL "opennw@opennw.cn"
set_var EASYRSA_REQ_OU "OpenNW"
初始化公钥基础设施目录 pki。
./easyrsa init-pki
创建CA证书和私钥
./easyrsa build-ca nopass
创建服务端证书和私钥
./easyrsa build-server-full server nopass
创建客户端证书和私钥,客户端名称随意,只要不冲突就行
./easyrsa build-client-full client nopass
生成 Diffie-Hellman 参数
./easyrsa gen-dh
复制刚才创建的证书到正确位置
cp pki/{ca.crt,dh.pem} /etc/openvpn/
cp pki/issued/server.crt /etc/openvpn/server/
cp pki/issued/client.crt /etc/openvpn/client/
cp pki/private/server.key /etc/openvpn/server/
cp pki/private/client.key /etc/openvpn/client/
服务端配置
复制一份服务器端配置示例
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
vim /etc/openvpn/server.conf
# 修改以下内容
port 4372
proto tcp
;proto udp
ca ca.crt
cert server/OpenVPN_CA.crt
key server/OpenVPN_CA.key
dh dh.pem
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 223.5.5.5"
push "dhcp-option DNS 223.6.6.6"
client-to-client
duplicate-cn
log-append /var/log/openvpn/openvpn.log
;explicit-exit-notify 1
重启服务端即可
systemcl retstar openvpn@server
systemcl status openvpn@server
客户端配置
复制一份客户端配置示例
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf .
vim client.conf
# 修改以下内容
proto tcp
;proto udp
remote 192.168.10.131 4372
<ca>
# CA证书内容
</ca>
<cert>
# 客户端证书内容
</cert>
<key>
# 客户端私钥内容
</key>
将修改好的客户端文件更改后缀名为.ovpn后发至客户端即可使用
配置NAT使得客户端可正常上网
使用iptables
iptables -t nat -I POSTROUTING -j MASQUERADE
iptables -t nat -I POSTROUTING -m state --state RELATED,ESTABLISHED -j ACCEPT
或使用nftables
table inet inet_filter {
chain postrouting {
type nat hook postrouting priority 100 ; policy accept;
oif eth0 masquerade
ct state { established, related } accept
}
}
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 好想打Kuo睡
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果