【Linux】使得局域网服务器可以上外网:搭建网关服务器
16lz
2021-01-22
【问题描述】
集群中一共7台服务器组成了局域网环境,但是只有其中一台有一个外网网卡可以连接外网,现在希望通过某种设置(避免硬件操作)使得局域网内的所有服务器都可以连接外网,下面以阿里云的两台服务器做了实验。
【解决办法】
在可以上外网的服务器上搭建一个网关服务器,其他局域网内的服务器的网关改为地址改为这台服务器的内网地址,问题得到解决。
【服务器配置(以两个服务器为例)】
服务器A:
操作系统:Centos6.5
外网:47.88.11.129 网卡 eth1
内网:10.117.236.202 网卡 eth0
服务器B
操作系统:Centos7
内网:10.117.236.145 网卡 eth0
【操作步骤】
网关服务器:
[1]、设置允许转发
vi /etc/sysctl.conf
增加 net.ipv4.ip_forward=1
使之生效 sysctl -p
[2]、配置iptables的转发,并保存,重启
iptables -t nat -A POSTROUTING -s 10.117.236.0/24 -o eth1 -j SNAT --to-source 47.88.11.129
/etc/init.d/iptables save
/etc/init.d/iptables restart
(service iptables restart)
或者修改文件 vi /etc/sysconfig/iptables
局域网内其他服务器:
[1]、修改eth0网卡的网关为网关服务器的地址。
vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改网卡eth0的设置
增加:GATEWAY=10.117.236.202
[2]、重启网络服务,启动网卡eth0
service network restart
ifup eth0
用同样的做法为楼下的服务器搭建了网关服务器,但是发现即使网关设置之后,局域网内的机器倒是能访问202.114.114.213和202.114.114.34了,但是不能访问外网。因此,我猜测是因为我搭建的网关服务器转发地址为202.114.114.213,而目前213是不能上外网的,因此局域网内的机器也不能上外网。
后来灵机一动。。既然能访问34,那就给局域网内的机器设置34的代理,然后,果然可以。
下次等213可以上网了之后,把代理删去,再试试。
更多相关文章
- 利用ssh-copy-id复制公钥到多台服务器
- 有什么办法可以在Windows上不用使用太繁琐的办法从Linux服务器上
- 查看Linux服务器网卡流量小脚本shell和Python各一例
- linux服务器历险之优化你的linux
- 搭建linux服务器并部署java web项目(CentOS7+tomcat+Mysql)
- Linux网络编程-客户端与服务器端通信(Echo)
- Linux服务器权限管理实践——添加用户只访问某些文件目录
- 一·创建Linux服务器(基于阿里云)
- Linux安装SVN服务器