🤖
BOKE
  • 😇一个博客
  • Group 1
    • 🚗ALL
      • 😁一文搞懂Yum命令:红帽系的包管理器
      • 😆到底什么是云计算
      • 😅反弹Shell大全与原理
      • 😂SHELL基础
      • 🤣iptables
      • ☺️阿里云YUM源
      • 😉CentOS系统版本升级
      • 🥲bat笔记
      • 😍ELK
      • 🥰黑马k8s
      • 😋supervisor
      • 🤨Bash 中的 ${} 和 $() 有什么区别
      • 🧐ansible+playbook
      • 👍给ELK的kibana设置密码
      • 😁prometheus
      • 😃Linux或Windows上实现端口映射
      • 😄shell脚本大全
      • 🤪linux修改网卡名
      • 😆Openvpn问题导致我掉了三根头发
      • 😅Iptables实现阿里云NAT网关效果
    • 🚕docker
      • 😇docker搭建MySQL主从
      • 😊docker命令
      • 🙂docker文件分层与数据挂载
      • 🙃dockerfile
      • 😘B站狂神-docker
    • 🚙DevOps
      • 😌DevOps(Git+Jenkins)
      • 😛python配置git
由 GitBook 提供支持
在本页

这有帮助吗?

  1. Group 1
  2. ALL

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

详细请看下方图

上一页linux修改网卡名下一页Iptables实现阿里云NAT网关效果

最后更新于1年前

这有帮助吗?

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

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

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

Openvpn-server配置文件如下

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 规则,让流量转发到其他网卡,剩下的任务由这个网卡去解决。

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 端口映射 路由交换

🚗
😆
环境架构图