Centos7内网服务器配置VXLAN上外网

0    52    3

Tags:

👉 本文共约919个字,系统预计阅读时间或需4分钟。

需求

Centos7内网服务器配置VXLAN上外网

这里原作者IP写错了,Server2应该是192.168.30.12.

如上图,有这样一种场景,我们经常遇到,局域网内有两台服务器,Server 1和Server 2,Server 1可以通外网,Server 2只能通内网,无法直接访问公网

现在想让Server 2能访问到公网,怎么做?

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

通常的做法,是在Server 1服务器上开一个代理服务,比如Squid、Nginx等,然后在Server 2服务器上在profile中配置proxy代理

这种方法的弊端是,太局限,大多是情况只能7层代理,而且还会涉及到https代理证书问题等

那有没有更好的方法?

今天介绍一种简单又好用的方法,结合vxlan和iptables-snat实现内网服务器公网访问

下面介绍下具体实现方法:

Server 2与Server 1之间配置vxlan隧道

Server 1配置

以上配置完成后,最重要的一步,设置iptables snat转换策略

这样Server1服务器就被改造成一个NAT网关,当然Server 1本身的上网等是没有任何问题的.

Server 2配置

以上配置完成后,Server 2与Server 1之间通过vxlan实现通讯,Server 2默认路由走vxlan dev,然后指向Server 1,Server 1配置了iptable snat转发,所以Server 2到公网的所有请求都被Server 1转发出去,至此,Server 2实现公网访问

修改MTU

中间有个MTU的修改,这里说下原因

在TCP封装vxlan报文的时候,会增加50字节,如下图

Centos7内网服务器配置VXLAN上外网

所以这里避免转发过程中要分片,所以设置vxlan0的MTU为1400,这里可以通过抓包具体实测确定MTU大小

总结

通过以上方法配置的内网转发,比通过Nginx、Squid等方式配置的7层代理要方便很多,可以解决很多7层以下公网访问的问题

参考

https://mp.weixin.qq.com/s/uKwU02mnkwgZWkvhw81I5Q

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部