可能是ROS内置设置出错,请详细检查一遍!
通常我们用masquerade方式做snat,因为这个设置最简单也最通用,设置masquerade的命令如下:
/ip firewall src-nat add action=masquerade
只要运个这个命令就可以使内网所有的电脑上公网了,但这种设置方法效率不高,如果你有ip是固定的完全可以用nat方式实现snat,效率会有所提高,方法如下:
/ip firewall src-nat add action=nat to-src-address=218.91.210.206
其中218.91.210.206是网关公网地址,而且to-src-address=218.91.210.206这个参数不能省略,否则内网用户无法上公网,但是我这样设置以后发现个很大的问题,就是内网web服务器做了端口映射后,外网用户访问web时留下的ip记录居然是192.168.2.1,就是网关内部ip地址,这个问题困绕我很多天,终于有一天遇上了andyyang大虾,在他的指导下我修改了参数实现了记录外网真实ip,方法如下:
/ip firewall src-nat add action=nat to-src-address=218.91.210.206 out-interface=outside
其中outside是网关外部网卡的名称,也就是添加了参数out-interface=outside后就实现了记录真实ip,但这时我又发现了一个问题,就是内网用户无法通过218.91.210.206这个网关外部ip访问内网映射的web服务了,怎么办呢,经过andyang的讲解,我又修改了参数,方法如下:
/ip firewall src-nat add action=nat to-src-address=218.91.210.206 src-address=192.168.2.0/24
这样内网用户就能访问218.91.210.206这个地址,外网用户的ip也能被正确记录了
把内网全ARP 绑定
设LAN 为没绑定的机器不能上网
然后你想不上网的机器故意不绑ARP 。