Iptables之FORWARD转发链
本机路由转发的时候,才配置FORWARD转发链~!
# iptables –A FORWARD –s 192.168.0.0/24 –j ACCEPT
# iptables –A FORWARD –d 192.168.0.0/24 –j ACCEPT
上面只是打通了局域网通过此机的Forward的通道,也就是打通了局域网与外网的链路,实际上并起不到任何的作用,因为在内核里面的转发文件并没有打开,因为我们要手工修改/proc/sys/net/ipv4/ip_forward 的值,将默认的0改为1~!(1为打开,0为关闭)
例:# 10.0.0.241 -----< 202.96.209.5
内网在访问外网的时候,包在到达外网后,外网不知道也没有办法回应此包给内网的主机,从而使得内外网无法实现通信;所以在网关上要在一个地址转换(NAT)将局域网地址翻译成互联网地址,它是通过NAT表(Network Address Trastation)来实现的。
# iptables –t nat –L –n
Prerouting是在routing之前的,在数据包进入routing之前就可以翻译数据包的目标地址,如果目标确定好了,发出去了,这时要经过postrouting链。( Prerouting是routing之前所经过的链,而postrouting是routing之后所经过的链 )
SNAT(源地址转换)
一个包如果目标不是自己,在通过Forward的时候,把源翻译成自己的地址。
源地址转换,只是把源的地址换成了自己的地址,它只能发生在postrouting上,不能发生在prerouting上。
DNAT(目标地址转换)
当一个包在进入routing之前,也就是在prerouting的时候,转换它的目标地址。
SNAT应用
10.0.0.241主机的网关为10.0.0.254,主机241发送的数据包都要经过254进行转换.
#iptables –t nat –A postrouting –s 10.0.0.0/24 –j SNAT --to-source 192.168.0.254
#iptables –t nat –L –n
在10.0.0.241上访问192.168.0.1 #ping 192.168.0.1 通的.
拨号网关: #iptables –t nat –A postrouting –s 10.0.0.0/24 –j MASQUERADE (伪装)
DNAT保护局域网
#iptables –t nat –A prerouting –d 10.0.254 –p tcp –dport 80 –j NAT --to-destination 192.168.0.1
本文来自博客园,作者:IT老登,转载请注明原文链接:https://www.cnblogs.com/nb-blog/p/6053676.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)