linux映射网络
① linux 或 Windows 上实现端口映射
通常服务器会有许多块网卡,因此也可能会连接到不同的网络,在隔离的网络中,某些服务可能会需要进行通信,此时服务器经过配置就可以承担起了转发数据包的功能。
一、Windows下实现端口映射
1. 查询端口映射情况
2. 查询某一个IP的所有端口映射情况
3. 增加一个端口映射
4. 删除一个端口映射
二、Linux下端口映射
1. 允许数据包转发
2. 设置端口映射
内网 和 外网 是相对Server4来说的。
Server1和Server2为内网环境的两台服务器;
Server3为外网环境下的一台服务器;
Server4为一台双网卡主机,分别连接192.168.50.0/24和172.16.2.0/24两个网络。
配置实验环境
用Python在Server1上搭建一个简单的HTTP服务
Server2、Server3同理
在client上访问Server1的资源
在client上访问Server2的资源
在client上访问Server3的资源
可以看到,外网的client是无法访问内网Server1,Server2的资源的。
临时配置
永久配置
如果需要永久配置,则将以上命令追加到/etc/rc.local文件。
在client上访问Server1的资源
在client上访问Server2的资源
在client上访问Server3的资源
Windows的IP信息如下
配置并查看端口映射情况
检查效果
在client节点上
END
② linux如何把一个内网地址映射到另外一一个公网地址上
1.启用网关服务器路由转发功能
[root@localhost~]# vi /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@localhost~]# sysctl -p
2.为局域网访问Internet 的数据包采用SNAT策略,将源地址更改为服务器的公网IP地址
[root@localhost~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 公网IP
(eth0 这个我不知道你配得哪个口 自己改)
你试试
③ linux 服务器内网IP映射到外网
如果你想在外网访问这个服务器的web应用,可以在外网出口路由上做nat端口映射或者是nat静态转换,这样就可以了,如果此web应用只用于内网访问,直接访问即可,使用dns的话就需要假设内网dns服务器了,