需求
之前碰到一个问题,没经历过还挺麻烦的。现在将解决方法分享出来,希望能帮助到遇到相同问题的人。
实验室有一台HP工作站的机器,有一个公网IP,导师希望布置一些网站,和同学们在任何地方都能通过公网IP连到服务器上,本来很简单的问题,但很坑爹的是通过这个公网IP不能上外网,连什么Mysql,github等都不可以(可以连,但是开通要收巨额流量费,一晚几千那种),于是有了下面的架构。
问题
需要配置访问者通过公网IP通过路由器2,网卡2进入服务器,服务器访问网络通过网卡1。
如果访问IP (如:A)固定的话有个解决方案,配置路由表,设置去往A的流量通过网卡2即可,但是访问服务器的IP不可能固定
- 访问者不一定有公网IP
- 每次访问的IP很有可能是变化的
如过配置访问者通过路由器1,网卡1进入服务器,行不通,因为路由器1不具有公网IP
结论
配置单一的路由表不能解决问题
理想的路径如下图
解决办法
配置多张路由表
网卡1为 eth1,网卡2为eth0
- 编辑 /etc/iproute2/rt_tables 增加两个public 和 private策略
其中public策略表对应网卡2(公网IP)