centos openvpn实现共享上网

问题描述

在同一局域网内有三个机器,只有一台能上网,没有双网卡,试过使用socks5进行代理,可是没能成功,最后尝试openvpn方案,下面介绍下openvpn配置,记录备忘。

##安装服务端

直接使用yum install openvpn -y 进行安装。

生成证书

openvpn需要使用证书进行校验,客户端与服务端都需要生成对应的证书,在网上找了个脚本Easy-RSA 2.2.2(没有使用最新的版本)。

解压后使用source ./vars导入相关环境变量。

生成ca证书:

./build-ca

生成服务端证书:

# server 为name
./build-key-server server 

生成客户端证书:

# client7 为name
./build-key client7 

生成生成迪菲·赫尔曼交换密钥,openvpn有用到:

./build-dh

服务端配置

使用vim server.conf修改配置文件:

# 端口
port 1194 
# 证书正常名称即可

# 设置服务器为代理路由器,否则客户端流量不走服务器,这点至关重要
push "redirect-gateway def1 bypass-dhcp" 
#设置客户端DNS,否则客户端Ping不通域名
;push "route 192.168.10.0 255.255.255.0" 
;push "route 192.168.20.0 255.255.255.0"

使用vi /etc/sysctl.conf开启路由转发:

net.ipv4.ip_forward = 1

重启内核使其生效:sysctl -p

启动

openvpn server.conf

客户端安装

由于客户端不能上网,所以下载好安装包,传过去:

scp rpm/*.rpm root@192.168.1.7:

进行安装:

rpm -ivh pkcs11-helper-1.11-3.el7.x86_64.rpm;
rpm -ivh lz4-r131-1.el7.x86_64.rpm;
rpm -ivh openvpn-2.4.4-1.el7.x86_64.rpm;

使用vim client.conf修改客户端配置文件 :

# 配置服务端ip与port
remote 192.168.1.8 1194 
# 这句注释掉,不需要tls
tls-auth ta.key 1 
# 修改成自己的
cert client7.crt 
key client7.key 

把证书传过去:

scp ca.crt client7.crt client7.key root@192.168.1.7:/etc/openvpn/client/

启动:

openvpn client.conf

Leave a Reply

Your email address will not be published. Required fields are marked *