通过iptables的SNAT实现网络转发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过iptables的SNAT实现网络转发相关的知识,希望对你有一定的参考价值。
参考技术A 通过SNAT来共享大网IP:linux临时开启内核的IP_FORWARD功能:
也可以修改配置文件/etc/sysctl.conf(CentOS7中配置/usr/lib/sysctl.d/00-system.com文件),在配置文件中将net.ipv4.ip_forward设置为1,重启网络服务后永久生效。
相同子网的小网机器将路由指向这台iptables的小网IP即可实现网络互通
ip route add 10.0.0.0/8 via 172.17.11.254
Linux|计算机网络|iptables|dnat+snat实现外网访问局域网内部服务器
本实验从snat功能配置好开始
如果不会配置snat,请先从此处开始
实验环境:
这里我使用两台centos7虚拟机,一台自己的win10本机,所有虚拟机网卡均使用桥接模式。
centos01号机器作为局域网内部机器,之后文中称之为1号主机
centos02号机器实现路由转发以及dnat功能,之后文中称之为2号路由器
网络拓扑图:
这里我们最后效果是使用win10本机去访问局域网内部的01号主机上的mysql和nginx服务,如果能够成功,则代表我们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
访问验证
以上是关于通过iptables的SNAT实现网络转发的主要内容,如果未能解决你的问题,请参考以下文章
Linux|计算机网络|iptables|dnat+snat实现外网访问局域网内部服务器
启用linux防火墙转发规则时出错 Applying iptables firewall rules: iptables-restore:led ipta