我们经常默认创建伪装上网规则,再端口映射后用户访问内网的服务器
此时内网服务器无法获取用户的正式IP而是路由器的LAN口IP
通过以下两种方法可以实现获取用户真实的公网IP
IP-----Firewall----source nat
在NAT栏目中添加 masquerade IP伪装的时候要这样写:
方法一:
General选项
Chain:srcnat
Src.address:192.168.0.0/24(你内网的IP段)
其他留空
Action选项
Action:masquerade
重点:
General选项中 src.address 要写自己的内网网段比如192.168.0.0/16
任意(0.0.0.0/0)地址或不写的话就会出现以上都变成内网网关问题!
方法二:
General选项
Chain:srcnat
Out. Interface 选中LAN即内网网卡 前面选择非(出口非LAN口的意思)
其他留空
Action选项
Action:masquerade
上图中LAN为内网网卡,具体情况按你自己ROS的内网网卡名为准。
双击原来建立的srcnat规则 masquerade(用于伪装上网),在General选项卡的
Out. Interface选中LAN即内网网卡,单击将前面的小框,在框中出现!最后点击OK完成设置。
以上两种方法都可以实现端口映射后作为内网的服务器可以获取到客户端的源地址及客户端真实的公网IP
未经允许不得转载:ROS端口映射后获取客户端源IP地址
发表评论