设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

iptables详解--转(4)

发布时间:2021-01-24 08:33 所属栏目:118 来源:网络整理
导读:如果构建大并发的环境时,NAT并不适用,一般来讲能够并发用户请求的场景来讲,在2-3W 已经非常庞大了,通常都是专业级硬件分发设备或应用来做分发,下面尝试着使client能够访问web服务器,但期望的是今后访问web服

如果构建大并发的环境时,NAT并不适用,一般来讲能够并发用户请求的场景来讲,在2-3W 已经非常庞大了,通常都是专业级硬件分发设备或应用来做分发,下面尝试着使client能够访问web服务器,但期望的是今后访问web服务器不是访问192.168.0.110而是iptables服务器10.0.10.62

因为是实验环境,所以清空所有规则

[root@test3~]# iptables -t nat -F

[root@test3~]# iptables -F

[root@test3~]# iptables -P FORWARD ACCEPT

我们期望网关10.0.10.62为用户访问目标,而不是192.168.0.110,但62上是没有web服务的,所以有人访问62的web服务必须将其转换到110上

所以要在iptables服务器上操作:

[root@test3~]# iptables -t nat -A PREROUTING -d 10.0.10.62 -p tcp --dport 80 -j DNAT--to-destination 192.168.0.110

在客户端测试:

[root@test~]# curl -dump http://10.0.10.62/test.html111

如果将FORWARD链的规则改为DROP那么该如何来实现:

[root@test3~]# iptables -P FORWARD DROP

再次测试,果然无法访问

它可以实现地址转换,但是地址转换后的报文是无法再转发至内部主机中去,因为forward规则给挡住了

可以将已经建立过连接的请求全部放行,于是乎:

[root@test3~]# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT[root@test3 ~]# iptables -A FORWARD -d 192.168.0.110 -p tcp --dport 80 -m state--state NEW -j ACCEPT

#目标地址必须是内部web地址 因为forward链在路由之后才可知其是否要进行转发

#也就是意味着用户的请求到达PREROUTING的时候,目标的地址已经改过了,当用户的请求FORWARD之后目标地址已经是web地址

放行转发ssh服务:

我们想请求iptables的22端口则转发至web server端的22端口上去

[root@test3~]# iptables -t nat -A PREROUTING -d 10.0.10.62 -p tcp --dport 22 -j DNAT --to-destination 192.168.0.110

[root@test3~]# iptables -A FORWARD -d 192.168.0.110 -p tcp --dport 22 -m state --state NEW-j ACCEPT

进行登录

[root@test~]# ssh 10.0.10.62

由此可见,以后想登陆10.62则登陆不上去了(可以更改为非22端口等,不再说明了哦)

将80端口请求转发至web端8080端口

更改apache服务的监听端口:

Listen8080

切换至iptables服务端添加规则:

[root@test3~]# iptables -t nat -A PREROUTING -d 10.0.10.62 -p tcp --dport 80 -j DNAT--to-destination 192.168.0.110:8080

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读