linux 防火墙之nat表
来源:互联网 发布:网络爬虫是干嘛的 编辑:程序博客网 时间:2024/06/07 16:44
NAT表,作用是对网络地址进行转换,主要有两个功能:1. DNAT 网络目的地址转换; 2. SNAT 网络源地址转换。
这里有两个应用场景便于理解NAT表的两个功能:
1.公司里有几台服务器需要对外提供服务,但公司只有一个外网ip地址,怎么让几台服务器共用一个ip地址?
2.家庭里很手机、电脑等设备,一般会通过wifi连到路由器上,然后上外网,仔细推敲下手机电脑获取的是路由器分配的内网ip,而内网ip是不能在外网里传播的,路由器是如何实现让多台设备冲浪的?
针对情景1,防火墙的网络目的地址转换功能就能够实现。 取出一台设备,其必须具备两个网络接口以上,一个网络接口绑定外网ip地址,其它的网路接口用来保证能在链路上访问所有的服务器。如有个数据包访问该ip的a端口,则将这个数据包的头部的地址 + 端口改成 服务器A的ip和端口,然后通过路由表或其它途径使这个数据包进入到服务器A所在的网络环境中,使访问生效。同理可做映射使访问该外网ip的b、c端口访问到B、C服务器。
此处要有图。。。。
。。。。。。。
。。。。。。
对应的iptables命令如下:iptables -A PREROUTING -i eth0 -p tcp --dport 8888 -j DNAT --to-destination 192.168.0.120:9999
简单解释:
iptables -A 链: 对某条链增加一条规则。
-i eth0 : 指定进来的网络接口,此处为eth0
-p tcp : 指定协议,可以是udp,或tcp。
-dport 8888 : 数据包访问的目的端口
-j DNAT : -j 后是接受、拒绝、丢弃,或其它处理,此处是交给DNAT功能去处理
--to-destination 192.168.0.120:9999 : DNAT 将数据包要访问的地址和端口改为 192.168.0.120:9999。
综合起来考量即是 从eth0 进来,访问8888端口的数据包,将它的目的地址改成192.168.0.120,目的端口改为9999,之后通过路由表去路由。
针对情景2,如果是linux路由器,会这么做:当内网设备A通过路由器上外网,数据包跑到路由器那一瞬间,就把数据包的源地址和端口替换成路由器对外的那个ip和随机分配一个端口,这样数据包就能出去了;同时路由器会记住这个随机分配的端口,与设备A进行关联,如果有数据包回到这个端口,则将它返回给设备A。
此处要有图。。。。。。。
。。。。。。。。。。。
。。。。。。。。。。。。
对应的iptables命令是: iptables -A POSTROUTING -o eth0 -j MASQUERADE
简单解释:
-o eth0: 匹配所有要从eth0出去的数据
-j MASQUERADE : 将数据包的源地址转化成 eth0 的地址。
综合起来考量就是: 凡是即将要从eth0 出去的地址,都被伪装成eth0的ip地址出去访问外部网络。
待续。
- linux 防火墙之nat表
- linux防火墙之iptables和NAT
- Linux 防火墙与NAT服务
- Linux iptables 做 路由、 NAT、 防火墙
- linux防火墙之牛刀小试
- Linux 防火墙之iptables
- Linux之防火墙
- Linux下的NAT及防火墙的混合应用
- Linux下的NAT及防火墙的混合应用
- Linux 防火墙iptables 学习笔记(四)iptables实现NAT
- Linux iptables防火墙设置与NAT服务配置
- Linux防火墙iptables学习笔记(四)iptables实现NAT
- Linux 防火墙iptables 学习笔记(四)iptables实现NAT
- Linux 防火墙iptables 学习笔记(四)iptables实现NAT
- Linux防火墙iptables学习笔记(四)iptables实现NAT
- Linux防火墙iptables详解(四)--iptables实现NAT
- Linux防火墙iptables学习笔记(四)iptables实现NAT
- Linux 防火墙iptables (四)iptables NAT(端口映射)
- 申请空间
- Android手机模拟GPS位置
- HTML标签(2)
- 一个最简单的QCustomPlot折线图示例
- SQL 中的语法顺序与执行顺序
- linux 防火墙之nat表
- CentOS 7 安装 Mysql
- 验证码识别
- sdp文件详细总结
- oc中的多态
- 作业
- Day06_Java_作业
- c++操纵符
- HTML中src、href的区别