首页 > 编程知识 正文

内网ip怎么映射外网,公网ip端口和内网ip映射

时间:2023-05-06 18:38:03 阅读:172131 作者:1283

环境说明:

1 .设备A IP:192.168.0.2位置:公司内部网址

2 .设备B IP: 1.1.1.1位置: Alibaba云公网服务器

设备a是内部网服务器,但只能连接到外部网,而设备b是AlibabaCloud (阿里巴巴云)公用服务器。

根据甲方要求,必须在指定的设备a上配置环境、服务,进行功能测试时,通过公用网进行通信。

设备a只能通过内部网IP访问公共网络,但由于公共网络无法主动访问设备a,因此必须将设备a上的服务映射到设备b。

映射过程:

1 .通过ssh端口转发将设备a的服务映射到设备b (因为设备b不能主动连接到设备a,因此在设备a上执行ssh远程端口映射) ) )。

在设备a上运行: ssh-oserveraliveinterval=60-f-n-r 80803360192.168.0.233608443 test @1.1.1. 1

该命令的作用是将本机的服务端口8443映射到设备b(1.1.1.1) )的8080端口,用户访问设备b的8080端口时,请求将转发到本地的8443端口具体来说,实现SSH隧道传输的方法在此不赘述。 如果你感兴趣,请自己搜索资料。

Tips :现在需要添加名为-o ServerAliveInterval=60的参数。 如果不添加此参数,ssh将在没有长时间操作的情况下超时并断开映射。 此参数每60秒向sh服务器发送一个keep-alive包,以保持ssh连接并防止超时

2 .经过步骤1的操作,此时可以看到设备b上监听的8080端口。 但是,可以看出监听的IP是127.0.0.1的环回地址。 (ssh远程映射只能映射到远程设备127,不能进行任何更改。 ) 127无法从外部直接访问,因此此处需要在防火墙上创建DNAT以更改原始请求的目标地址。

在设备b上运行: iptables-tnat-a prerouting-ptcp-- dport 8443-jdn at---to-destination 127.0.0.133608080

此命令的作用是将访问本机8443端口的TCP消息转发到本机127.0.0.1上的8080端口

tips :如果iptables添加了以上规则,则必须修改内核参数,因为出于安全原因,Linux系统不允许将请求转发到环回地址127.0.0.1。

sysctl-wnet.IP v4.conf.eth0. route _ localnet=1

此时,可以将消息DNAT到第127地址。

经过以上两个阶段的操作,当前访问1.1.1.1:8443端口将访问192.168.0.2中的8443端口

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。