虽然真的太简单,但我还是踩坑了。尴尬,所以写了这个文档记录一下。 场景:一台没有外网的node服务器,通过另一台有外网的master服务器,来访问外网。(这里使用的是华为云)
node192.168.0.99master192.168.0.102华为云与阿里云不同的是,华为云网卡有一个“源/目的检查”(默认开启,在master这里需要关了),阿里云的话,这一步忽略。![在这里插入图片描述](https://img-blog.csdnimg.cn/20201003102851634.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTAxMjAwMw==,size_16,color_FFFFFF,t_70#pic_center) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201003102912781.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTAxMjAwMw==,size_16,color_FFFFFF,t_70#pic_center) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201003102923687.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTAxMjAwMw==,size_16,color_FFFFFF,t_70#pic_center) ##测试是否可以跟外网通信。先在master执行ping www.baidu.com接下来的操作,都在master,node不需要做。
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p /etc/sysctl.conf
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201003103252342.png#pic_center)
iptables -F ##清理防火墙规则,根据情况使用
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 192.168.0.102 ##地址转换
iptables -t nat --list
node节点上ping www.baidu.com 这里就已经通了 扩展
redirect将数据包重定向到另一台主机的某个端口,通常用实现透明代理和对外开放内网某些服务。snat源地址转换,改变数据包的源地址。dnat目的地址转换,改变数据包的目的地址。masqueradeIP伪装,只适用于ADSL等动态拨号上网的IP伪装,如果主机IP是静态分配的,就用snat。参考文档:华为云官方文[https://support.huaweicloud.com/usermanual-ecs/ecs_03_0705.html]他人分享的阿里云文档https://note.youdao.com/ynoteshare1/index.html?id=1908e268d670cd426f5629ea395f847b&type=note
|