Linux|计算机网络|iptables|dnat+snat实现外网访问局域网内部服务器

Posted 和呵呵和

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux|计算机网络|iptables|dnat+snat实现外网访问局域网内部服务器相关的知识,希望对你有一定的参考价值。

本实验从snat功能配置好开始

如果不会配置snat,请先从此处开始

点击这里

实验环境:

这里我使用两台centos7虚拟机,一台自己的win10本机,所有虚拟机网卡均使用桥接模式。

centos01号机器作为局域网内部机器,之后文中称之为1号主机
centos02号机器实现路由转发以及dnat功能,之后文中称之为2号路由器

网络拓扑图:

这里我们最后效果是使用win10本机去访问局域网内部的01号主机上的mysqlnginx服务,如果能够成功,则代表我们dnat配置成功

在01号主机上配置服务器

首先启动docker

service docker start

查看镜像文件

docker images

如果没有mysql和nginx镜像的话可以使用pull拉取

docker pull nginx

然后启动服务

docker run --name yihe-nginx-1 -d -p 80:80 nginx

iptables配置dnat

iptables -t nat -A PREROUTING -i ens33 -d 192.168.0.105 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.2:80

访问验证

以上是关于Linux|计算机网络|iptables|dnat+snat实现外网访问局域网内部服务器的主要内容,如果未能解决你的问题,请参考以下文章

Linux|计算机网络|iptables|dnat+snat实现外网访问局域网内部服务器

Linux防火墙------iptables(SNAT与DNAT)

iptables实现SNAT和DNAT,并对规则持久保存

Linux-SNAT和DNAT

Linux防火墙iptables之SNAT与DNAT

iptables的高级应用(网络型防火墙)