这篇文章将为大家详细讲解有关linux系统中如何配置端口映射,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前述使用的是 iptables 来做端口映射。如果使用的系统是 Centos/Redhat/Fed
这篇文章将为大家详细讲解有关linux系统中如何配置端口映射,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
使用的是 iptables 来做端口映射。如果使用的系统是 Centos/Redhat/Fedora 那么需要关闭 firewalld 服务才能成功。
firewall 与 iptables 两个防火墙的关系,请自行百度。
打开 IP 转发(路由器设备是默认打开的),必须允许 IP 转发,否则即使设置了 nat 映射规则,也是不能发生映射的,因为不开启转发,包不能被发过去。
echo 1 > /proc/sys/net/ipv4/ip_forward
映射关系 192.168.122.1:80 —> 192.168.122.221:80
192.168.122.221 在 80 端口开启了 Nginx 服务器
本地链路的报文是不需要经过 PREROUTING 与 POSTROUTING 的,所以必须配置 OUTPUT 否则在本机上测试会发现转发规则无效!
在 192.168.122.1 配置如下规则,然后在 192.168.122.1(本机) 的机器能访问 “192.168.122.1:80”
iptables -t nat -A OUTPUT -p tcp -d 192.168.122.1 --dport 80 -j DNAT --to 192.168.122.221:80
在 192.168.122.1 配置如下规则,然后在 192.168.122.29(其他设备) 能访问 ”192.168.122.1:80“
# 配置目的地址转换iptables -t nat -A PREROUTING -p tcp -d 192.168.122.1 --dport 80 -j DNAT --to 192.168.122.221:80# 配置源地址转换iptables -t nat -A POSTROUTING -p tcp -d 192.168.122.221 --dport 80 -j SNAT --to 192.168.122.1
映射关系 192.168.122.221:8080 —> 192.168.122.221:80
本地链路上的报文是不需要经过 PREROUTING 与 POSTROUTING 的,所以必须配置 OUTPUT 否则在本机上测试会发现转发规则无效!
192.168.122.221 在 80 端口开启了 nginx 服务器
在 192.168.122.221 配置如下规则, 8080 映射到 80,这样本机能访问 “127.0.0.1:8080”
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 8080 -j DNAT --to-port 127.0.0.1:80
在 192.168.122.221 配置如下规则, 8080 映射到 80,这样能访问 “192.168.122.221:8080”
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-ports 80
# 查看 nat 链规则iptables -t nat -L -n --line-number# 删除规则 POSTROUTING 的规则 1iptables -t nat -D POSTROUTING 1
关于“Linux系统中如何配置端口映射”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
--结束END--
本文标题: Linux系统中如何配置端口映射
本文链接: https://lsjlt.com/news/320208.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0