1.下载openvpn easy-rsa
进入openvpn安装目录/usr/share/doc/openvpn/examples
进入目录下的sample-config-files目录,使用gunzip -c server.conf.gz > /etc/openvpn/server.conf 将文件解压到openvpn的配置目录
# TCP or UDP server?
;proto tcp
proto udp//取消对tcp的注释,使vpn同时通过tcp和udp
# Which TCP/UDP port should Open××× listen on?
# If you want to run multiple Open××× instances
# on the same machine, use a different port
# number for each one. You will need to
# open up this port on your firewall.
port 1194//端口使用1194
;push "redirect-gateway def1 bypass-dhcp"//取消对DHCP的注释
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"//更改首选dns和备用dns
duplicate-cn//取消对该行注释
# You can uncomment this out on
# non-Windows systems.
user nobody
group nogroup//取消两行注释,使得所有系统可登陆vpn
保存退出server.conf文件
echo 1 > /proc/sys/net/ipv4/ip_forward//将文件内容修改为1,允许Linux系统转发数据包
编辑/etc/sysctl.conf
net.ipv4.conf.all.rp_filter=1//取消对该行的注释
保存退出
//×××防火墙允许服务通过
root@zhang-virtual-machine:/etc/openvpn# ufw allow ssh
root@zhang-virtual-machine:/etc/openvpn# ufw allow 1194/udp
root@zhang-virtual-machine:/etc/openvpn# ufw allow 1194/tcp
编辑ufw的配置文件:/etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"//将原文件中的drop改为accept
编辑/etc/ufw/before.rules
*nat
:POSTROUTING ACCEPT [0.0]
-A POSTROUTING -s 10.8.0.0/8 -O ens160 -j MASQUERADE
COMMIT
//添加代码,注意不要留有空行,否则会报错
root@zhang-virtual-machine:/etc/openvpn# ufw enable//启动ufw服务
启用证书:
将/usr/share/easy-rsa文件夹完整复制到/etc/openvpn下
编辑/etc/openvpn/easy-rsa/vars
输出证书到/etc/openvpn/dh.pem
输入以下命令,一路回车
输入命令,回车,遇到确认输入y
将/etc/openvpn/easy-rsa/keys/文件夹中的server.crt server.key ca.crt 拷贝到/etc/openvpn/文件夹下
接下来启动vpn服务:service openvpn start
一路回车
在家目录下家里client文件夹:mkdir ~/client
接着将/usr/share/doc/openvpn/examples/sampl-config文件夹下的client.conf文件拷贝到家目录下新建的client文件夹中,并将名称更改为user.ovpn
将/etc/openvpn/easy-rsa/keys中的 ca.crt user.crt user.key三个文件复制到~/client文件夹中
之后重启机器reboot
重启之后使用ifconfig查看网络信息发现多了一个接口
接下来编辑~/client/user.ovpn文件
修改图中IP地址为公网ip
注释次三行代码
取消两行注释
追加证书到user.ovpn: echo “<ca>” >> user.ovpn
Cat ca.crt >> user.ovpn
echo “</ca>” >> user.ovpn
echo “<cert>” >> user.ovpn
cat user.crt >> user.ovpn
echo “</cert>” >> user.ovpn
加密钥
Echo “<key>” >> user.ovpn
Cat user.key >> user.ovpn
Echo “</key>” >> user.ovpn
复制user.ovpn到/home/zhang/Downloads文件夹下
将user.ovpn复制到物理机