科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Linux下的NAT及防火墙的混合应用(4)

Linux下的NAT及防火墙的混合应用(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

主要讲述Linux系统下的NAT(网络地址转换)和基于NAT的防火墙技术。首先由Linux系统的安装引入,着重介绍LINUX下的NAT的网络配置(服务端和客户端),以及防火墙配置原则。

作者:51CTO.COM 2007年11月8日

关键字: 防火墙 redhat Linux NAT

  • 评论
  • 分享微博
  • 分享邮件

  假如想进一步了解他的工作原理,NAT其实就是一种IP包欺诈,也可以说是对IP报头的修改,请看下表

  4位版本

  4位首部长度

  8位服务类型

  16位总长度(字节数)

  16位标识

  3位标志

  13位片偏移

  8位生存时间(ttl)

  8位协议

  16位首部校验和

  32位源ip地址

  32位目的ip地址

  其他选项

  携带数据

  IP数据包格式和报头中的各字段

  NAT网关(外202.204.208.5;内192.168.0.1)收到本地局域网内的客户机(192.168.0.2),发来的ip数据,先判断是否是本地子网中发来的,假如通过,则按照她的目的ip地址查找本地路由表进行转发,NAT在包被继续向前送出之前转换32位源地址 192.168.0.1成202.204.208.5。相应的,IP包往回传时依据相同的地址进行转换。

  2.2.2 NAT设置

  我们知道了NAT的原理,就可以进行NAT的配置了,我们前面说过了NAT就是防火墙,在RED HAT9.0下自带防火墙 IPTABLS

  我们在做好网络设置后,假如要实现客户端(win98)通过服务端上网(静态NAT),可以在命令行下直接打入

  iptables -t nat -A POSTROUTING -o eth1 -j SNAT - to 202.204.208.5

  说明:

  -t nat : 调用nat表,调用这个表说明遇到了产生新的连接的包。

  -A :该命令将一条规则附加到链的末尾。

  POSTROUTING:指定正当信息包打算离开防火墙时改变它们的规则。

  -o eth1:输出接口为ETH1

  -j SNAT:跳转,也叫触发条件,当满足Snat规则是便发生跳转

  整条语句的意思为: 当防火墙遇到产生新的连接的包,则在他要离开防火墙时改变他的源ip为202.204.208.5并且从ETH1出口送出。

  nat的规则指定完成后,还要打开IP转发功能:

  echo 1 >/proc/sys/net/ipv4/ip_forward

  这样,客户端就可以通过208.5上网了。

  假如208.5的客户端192.168.0.2开设了80端口的web服务,如何让外部访问到这个局域网内部的服务呢?

  这就用到了Dnat(也叫反向nat,端口跳转),在命令行下打入:

  iptables -t nat -A PREROUTING -i eth1 -d 202.204.208.5 -p tcp -dport 80 -j DNAT -to-destination 192.168.0.2:80

  语句说明:当有通过eth1接口的tcp协议访问202.204.208.5的80端口的时候,则触发跳转,跳转至局域网的192.168.0.2的80端口。

  但是这同时也出现一个问题,在同一局域网内的机器,无法访问202.204.208.5的80端口。以下是原因:

  假设192.168.0.3不通过http://192.168.0.2:80这种方式进行浏览

  在命令行下打入:

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章