2022-03-24 09:44:42
24 03 2022
摘要:iptables在内核进行的端口转发

在我们开始讲iptables端口转发前,我们说下nginx和iptables的区别:

iptables是在内核中转发的,nginx转发属于应用层,iptables是网络层,nginx转发主要是负载均衡,而且比较灵活,比如部分转发,转发到不同的服务器上。iptables只能实现全部转发,按照端口,到达端口的数据全部转发给一台服务器。nginx转发http请求就灵活很多,比如对于静态内容,js,css,图片,可以利用memcache等缓存,直接提供服务,而其他复杂的请求可以转发过应用服务器,而且支持多个服务器。

1.下面我们讲下iptables是如何实现端口转发(使用到的服务器是rocky linux):

首先我们先清空防火墙的nat规则:iptables -t nat -F #如下图,主要清除其他规则的影响,(建议在正式生产环境不要这样做)

Smiley face

2.添加规则(80端口是我在服务器部署的一个web网站的端口)

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80 #执行该命令

#命令参数解释

#-p tcp 指明是tcp协议,也可以指明udp等

#--dport 8080 指明要目标端口

#-j REDIRECT 指明转发

#--to-port 指明转发到的端口

Smiley face

3.测试是否生效(我本机服务器ip是192.168.1.101)

在浏览器输入http://192.168.1.101:8080/ 如下图所示

Smiley face

说明我们的iptables端口转发功能正常生效了

 

相关文章:Rocky Linux/centos iptables开启80端口的日志

 

延伸阅读
  1. 上一篇:JDK
  2. 下一篇:Nginx
发表评论