前言: 一般在服务器集群中 只有少数几台服务器能接通外网,为了安全起见大部分服务器只能进行内网通讯。但是在大部分场景下内网服务器此时仍然有上网需求。我举几个生产中的例子你就明白了
一、办公大楼上网
一般都是用一台服务器做正向代理。在同一楼层或者同一办公室的人用同一台交换机,那他们之间互相通讯都是基于内网。连接外网会将数据包转发到代理服务器由代理服务器来进行收发数据,这也是SNAT技术。
“SNAT:局域网共享一个公网IP接入lnternel”这样的好处有:
-
保护内网用户安全,因为公网地址总有一些人恶意扫描,而内网地址在公网没有路由所以无法被扫描,能被扫描的只有防火墙这一台,这样就减少了被攻击的可能。
-
Ipv4地址匮乏,很多公司只有一个ipv4地址,但是却有几百个用户需要上网,这个时候就需要使用SNAT。
-
省钱,公网地址付费,使用SNAT只需要一个公网ip就可以满足几百人同时上网。
二、运维同学内网yum安装服务
并不是推荐搭建内网yum仓库,阿里和清华源有很多用他们的就可以
在中大型技术服务企业中项目繁多,每个项目所使用的服务器集群数量不等,如果集群服务器数量众多 超过20
台有必要搭建yum仓库,有的时候只是偶尔进行安装软件,为开发或者其他人员提供服务。
在网上看了很多办法 有修改yum代理 有的用iptables实现。至于内容和效果一言难尽。
在以前做集群测试时有过设置内网共享上网的经验,今天来分享一下。
三、实验准备
跳板机 | 外网ip | 内网ip |
---|---|---|
edas | 10.0.0.100 | 172.16.1.2 |
内网机器 | 内网ip | 内网机器无外网ip |
rocketmq | 172.16.1.1 | 虚拟机上关掉外网网卡就行 |
两台机器之前有两块网卡 一个是nat模式 一个是LAN区段
现在有测试需求要 将内网服务器的一块外网网卡关掉
开机之后在这吧NAT的网卡关掉
先连接跳板机 通过跳板机ssh 登录内网服务器
1、修改内网主机网卡配置文件
我的内网网卡是eth1 只能内部通讯的网卡
vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.1
NETMASK=255.255.255.0
GATEWAY=172.16.1.2 #此处网关指向能上网的同一网段的跳板机IP地址
DNS1=180.76.76.76
DNS2=223.5.5.5
现在开启内网共享上网 需要开启防火墙 firewalld
通过SNAT转换进行上网NAT转换进行上网 将内网的数据包转发到代理机器上
2.保存 重启网卡
[root@rocketmq ~]# systemctl restart network
3.开启内网共享上网
在跳板机或者管理机上进行输入
firewall-cmd --add-masquerade
返回success即为成功
4.测试
在内网主机上进行ping 百度 接受数据包
查看一下内网机器 路由信心 网关已经指向了跳板机的内网网段ip地址
[root@rocketmq ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.1.2 0.0.0.0 UG 0 0 0 eth1
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1