2023-09-20
linux
00
请注意,本文编写于 373 天前,最后修改于 373 天前,其中某些信息可能已经过时。

目录

Openvpn问题导致我掉了三根头发

Openvpn问题导致我掉了三根头发

由于电信服务商不给提供固定ip,我们只能另寻他法,第一个想到的就是frp端口映射,于是跟公司申请了一台阿里云服务器,并在阿里云服务器上安装了frp-server,在Openvpn-server服务器上安装了frp-client。

image.png

Openvpn-server是一台双网卡的服务器,一个网卡用来上网(连接阿里云服务器的frp),另一张网卡用来连接机房的路由器,通过Openvpn实现外出出差的同事能同时干两份工作(出差+本地项目)。

端口映射做好,Openvpn安装好之后,经过测试Openvpn的c/s连接无问题,但是ping不通整个环境的其他ip,只能ping通Openvpn-server这台服务器上的网卡,这说明流量并没有被转发出去,而是还在这台机器里打转。

Openvpn-server配置文件如下

shell
local 0.0.0.0 port 1194 # 监听端口 proto tcp # 协议 dev tun ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/server.crt key /etc/openvpn/server/server.key dh /etc/openvpn/server/dh.pem server 192.168.200.0 255.255.255.0 # Openvpn给客户端分配的网段 ifconfig-pool-persist ipp.txt push "route 192.168.1.0 255.255.255.0" # 办公网段路由 push "route 192.168.3.0 255.255.255.0" # 机房路由器路由 push "route 10.0.0.0 255.0.0.0" # 机房路由 client-to-client #允许客户端之间通信 ;duplicate-cn keepalive 10 120 tls-auth /etc/openvpn/server/ta.key 0 cipher AES-256-CBC compress lz4-v2 push "compress lz4-v2" ;comp-lzo max-clients 1000 user nobody group nobody persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3 ;explicit-exit-notify 1

这个时候测试 Openvpn-server 和其他网段都是通的。

原因:Openvpn的虚拟网卡并没有把流量转发出去,而是局限在这台linux服务器。

解决方法:添加两条 iptables nat 规则,让流量转发到其他网卡,剩下的任务由这个网卡去解决。

shell
iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o ens37 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o ens37 -j SNAT --to-source 192.168.3.173

涉及技术:Openvpn 端口映射 路由交换 NAT

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:YOUWEI

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 ™ 许可协议。转载请注明出处!