当前位置:网站首页>访问公司内网
访问公司内网
2022-07-29 22:29:00 【csg103】
疫情被隔离 不能连接公司内网,所以搭建一个VPN方便。
通过向日葵控制内网机器,在内网搭建openVPN服务器,首先需要一台有外网地址的服务器,我这里做的映射,选择udp协议,速度比较快一点。
安装相关软件包
yum -y install epel-release
yum -y install openvpn easy-rsa iptables-services修改配置 生成文件
移动文件方便配置
cp -r /usr/share/easy-rsa/ /etc/openvpn/
编写变量并刷新
vim /etc/openvpn/easy-rsa/3.0.8/vars
export KEY_COUNTRY="cn"
export KEY_PROVINCE="SH"
export KEY_CITY="SH"
export KEY_ORG="**"
export KEY_EMAIL="**@qq.com"
export KEY_CN=gz
export KEY_NAME=gz
export KEY_OU=gzsource /etc/openvpn/easy-rsa/3.0.8/vars
生成CA证书
./etc/openvpn/easy-rsa/3.0.8/easyrsa build-ca nopass生成证书需要的Common Name可以自己随便写,完成后生成CA证书
/etc/openvpn/easy-rsa/3.0.8/pki/ca.crt
生成openvpn的证书和秘钥
./etc/openvpn/easy-rsa/3.0.8/easyrsa build-server-full server nopass
./etc/openvpn/easy-rsa/3.0.8/easyrsa gen-dh生成文件dh.pem
生成tls-auth key安全验证文件
cd /etc/openvpn/easy-rsa/3.0.8 && openvpn --genkey --secret ta.key生成/etc/openvpn/easy-rsa/3.0.8/ta.key
创建日志文件
mkdir -p /var/log/openvpn
chown openvpn:openvpn /var/log/openvpn/拷贝配置文件并修改
cp /usr/share/doc/openvpn-2.4.12/sample/sample-config-files/server.cof /etc/openvpn && vim etc/openvpn/server.conf
port 1194 #转发接收端口
proto udp #转发协议
dev tun #生成tun0虚拟网卡
#前面生成的文件
ca /etc/openvpn/server/certs/ca.crt
cert /etc/openvpn/server/certs/server.crt
key /etc/openvpn/server/certs/server.key
dh /etc/openvpn/server/certs/dh.pem
tls-auth /etc/openvpn/server/certs/ta.key
server 10.8.0.0 255.255.255.0 #虚拟网卡网段
#服务器自动给客户端分配IP后,客户端下次连接时,仍然采用上次的IP地址(第一次分配的IP保存在ipp.tx
#中,下一次分配其中保存的IP)。
ifconfig-pool-persist ipp.txt
#虚拟网卡设置,如果不写 会读取/etc/resolv.conf下的配置,可能导致无法上网
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "redirect-gateway def1"
duplicate-cn #允许两个具有相同公用名的连接,因此一个证书可以由多个连接/用户使用.
keepalive 10 120 #每隔10秒客户端ping服务端,确保服务端没有离线,超长为120秒
cipher AES-256-CBC #加密类型 必须和客户端一致
comp-lzo #兼容性压缩,必须与client端设置一致
# 用户名和组
user openvpn
group openvpn
#persist 选项将尝试避免在重新启动时访问某些由于权限降级而可能不再可访问的资源。
persist-key
persist-tun
# 状态日志记录文件
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpnserver.log
log-append /var/log/openvpn/openvpnserver.log
# 设置适当的日志文件详细级别。
#
# 0 是静默的,除了致命错误
# 4 对于一般用途来说是合理的
# 5和6可以帮助调试连接问题
# 9 非常冗长
verb 4关闭防火墙
setenforce 0启动VPN
openvpn --daemon --config /etc/openvpn/server.conf查看端口服务进程
netstat -tanulp | grep 1194
到这里VPN服务器就搭建完毕了,想要链接 需要给客户端生成相应的证书和秘钥。
生成客户端证书
./etc/openvpn/easy-rsa/3.0.8/easyrsa build-client-full client1 nopasspki目录下的private和issued子目录分别生成client1.key和client1.crt文件。


创建client1.ovpn
client
proto udp
dev tun
remote *.*.123.86 1194
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key
remote-cert-tls server
persist-tun
persist-key
comp-lzo
cipher AES-256-CBC
verb 4
mute-replay-warningsremote 为openvpn的服务器外网地址,如果是做的映射,需要指定映射为udp协议。否则tls链接会失败。
加密类型需要跟服务器设置保持一致,否则链接时会导致无服务无返回。
收集配置文件 打包发送给需要链接的人就可以了。

连接
下载tunnelblick
五个文件放在同一个目录下,把client1.ovpn拖入tunnelblick左侧 点击连接就可以了。

效果
断开VPN

连接VPN后

client1相当于一个用户,在openvpn的配置中设置了可以多个人使用同一个client文件,但是为了安全,最好给每一个需要连接的人配置一个证书。


边栏推荐
猜你喜欢
随机推荐
数据安全建设
程序员「小镇做题」出身,月薪是父母半年收入 ……
我想申请专利,却没有经验,如何学会写专利申请文件?
WSDM‘22推荐系统论文梳理
chrome集成沙拉查词
九、HikariCP源码分析之ConcurrentBag二
【LeetCode-SQL每日一练】——2. 第二高的薪水
互联网基石:TCP/IP四层模型,由浅入深直击原理!
GBASE 8s 通过临时表提升排序性能
GBASE 8s 数据库的大对象和日志备份
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
撰写英文文献有哪些技巧?
【MySQL系列】 MySQL表的增删改查(进阶)
WY16 不要二
怎样下载国内外专利?
五、HikariCP源码分析之初始化分析二
外文论文的格式规范要求有哪些?
lambda expression
【企业架构框架】谁推动了现代 EA 最佳实践和内容?
趣味隐写术与密码术(现代密码学教程)









