科技行者

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

知识库

知识库 安全导航

至顶网安全频道Solaris NAT服务器应用实例

Solaris NAT服务器应用实例

  • 扫一扫
    分享文章到微信

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

NAT网络地址转换技术可以通过私有地址来扩充IP地址空间,解决目前IPV4地址资源不足的问题。文中介绍了Solaris 下NAT的工作原理与实现SNAT和DNAT两种方式。

作者:曹江华 来源:IT专家网 2008年10月21日

关键字: Solaris NAT 安全策略

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

  前文介绍了NAT原理以及NAT在Solaris应用环境下的实现,下面笔者将结合具体应用情况构建Solaris下的NAT服务器

  一、Solaris下NAT用途

  1. 连接到Internet,但却没有足够的公用Internet地址分配给内部主机。中小企业内部机器数量较少,可以通过NAT方式接入INTERNET,这时,仅仅需要一个合法的IP地址。

  2. 接到一个需要重新分配地址的ISP。企业合并,两个使用同一IP地址网段的企业合并,可以使用NAT而不用重新规划IP地址,保留了以前的投资。但不可避免的是,采用NAT可能使NAT路由器出现IP报文转发效率的损失。

  3. 支持多重服务器和负载均衡。通过给一个服务器集群一个逻辑IP地址(10.10.10.100),在路由器上配置NAT可以做到负载分担。常见的例子是TCP load balancing,将外部网络对10.10.10.100的访问顺序定位到不同的服务器。

  二、Solaris NAT服务器应用举例

  1. 在局网对外发布Web网络服务,网络拓扑如图1。

  (1)互联网客户通过NAT路由器访问局域网内服务器

  假设局域网中WWW 服务器的elx0接口的IP地址为192.168.10.1,NAT路由器的局域网接口elxl的IP地址为192.168.10.2,与互联网连接的接口的IP地址是219.243.69.10,互联网上客户机的IP地址为随意。

  (2)在局域网对外发布服务的配置

  假设使用ADSL连接获得的IP是首先219.243.69.10。

  当外界的互联网 使用者浏览Web服务器(219.243.69.10) 的网页时,NAT会自动转向计算机A(192.168.10.3)。其中Web服务器使用80端口。

  文件 /etc/ipf/ipnat.conf 內容:

  map ppp0 192.168.10.0/24 -> 219.243.69.10/32 proxy port ftp ftp/tcp

  map ppp0 192.168.10.0/24 -> 219.243.69.10/32 portmap tcp/udp 40000:60000

  map ppp0 192.168.10.0/24 -> 219.243.69.10/32

  rdr elx0 0.0.0.0/0 port 80 -> 192.168.0.3 port 80

  文件/etc/ipf/ipf.conf内容如下:

  pass in on elx0 from 192.168.10.0/22 to any

  pass out on elx0 from any to192.168.10.0 /22

  如果你每次連接到 ISP時,所獲得的 IP 地址都不同的話/etc/ipf/ipnat.conf 內容如下:

  map ppp0 192.168.10.0/24 -> 0/32 proxy port ftp ftp/tcp

  map ppp0 192.168.10.0/24 -> 0/32 portmap tcp/udp 40000:60000

  map ppp0 192.168.10.0/24 -> 0/32

  2. 在局网建立FTP服务器,允许互联网用户使用FTP服务器网络拓扑如图2。

  假设局域网中FTP 服务器的elx0接口的IP地址为192.168.10.1,NAT路由器的局域网接口elxl的IP地址为192.168.10.2,与互联网连接的接口的IP地址是219.243.69.10,互联网上客户机的IP地址为随意。ftp服务器使用的端口是20、21 。

  文件/etc/ipf/ipnat.conf 內容:

  rdr elx0 0.0.0.0/0 port 20 -> 192.168.0.2 port 20

  rdr elx0 0.0.0.0/0 port 21 -> 192.168.0.2 port 21

  文件/etc/ipf/ipf.conf内容如下:

  pass in on elx0 from 192.168.10.0/22 to any

  pass out on elx0 from any to192.168.10.0 /22

  3. 启动局域网中的Windows 计算机的远程桌面方便外网用户连接,网络拓扑如图3。

  Windows 客户机A IP地址是:192.168.0.1 ;

  Windows 客户机B IP地址是:192.168.0.2 ;

  我们知道Windows 计算机的远程桌面使用的端口是3389 。

  希望远程Windows 客户机連接到网络中IP为的 192.168.0.1的Windows 客户机A进行连接。

  文件 /etc/ipf/ipnat.conf 內容:

  rdr elx0 0.0.0.0/0 port 3389 -> 192.168.0.1 port 3389

  远程Windows 客户机連接到网络中IP为的 192.168.0.1的Windows 客户机A和IP为的 192.168.0.2的Windows 客户机B进行连接。

  文件 /etc/ipf/ipnat.conf 內容:

  rdr elx0 0.0.0.0/0 port 10000 -> 192.168.0.1 port 3389

  rdr elx0 0.0.0.0/0 port 10001 -> 192.168.0.2 port 3389

  文件/etc/ipf/ipf.conf内容如下

  pass in on elx0 from 192.168.10.0/22 to any

  pass out on elx0 from any to192.168.10.0 /22

  4. 启动局网中的Linux计算机的VNC远程桌面方便外网用户连接,网络拓扑如图4。

  Linux 客户机B IP地址是:192.168.0.3 ;

  VNC就是一个通过软件方式实现ATM网络计算机模式的软件系统。VNC可以轻松实现远程对Linux主机图形化操作。我们知道VNC计算机的远程桌面使用的端口是5801-5900 。

  希望远程Linux 客户机連接到网络中IP为的 192.168.0.4的Linux 客户机A進行VNC连接。

  文件 /etc/ipf/ipnat.conf 內容:

  rdr elx0 0.0.0.0/0 port5801 -> 192.168.0.4 port 5801

  文件/etc/ipf/ipf.conf内容如下:

  pass in on elx0 from 192.168.10.0/22 to any

  pass out on elx0 from any to192.168.10.0 /22

  三、深入了解NAT配置规则

  使用 ipnat 命令可对 NAT 规则列表进行处理。可以在命令行上使用 ipnat 命令或在 NAT 配置文件中创建 NAT 规则。NAT 配置规则驻留在 ipnat.conf 文件中。如果希望在引导时装入 NAT 规则,请创建一个名为 /etc/ipf/ipnat.conf 的文件,在其中放置 NAT 规则。如果不希望在引导时装入 NAT 规则,请将 ipnat.conf 文件放置在所选的位置中,然后使用 ipnat 命令手动激活包过滤。使用以下语法创建 NAT 规则:

  commandinterface-name parameters

  每个规则都以以下命令之一开头:

  map,在无法控制的循环过程中将一个 IP 地址或网络映射到另一个 IP 地址或网络。

  rdr,将包从一个 IP 地址和端口对重定向到另一个 IP 地址和端口对。

  bimap,在外部 IP 地址和内部 IP 地址之间建立双向 NAT。

  map-block,建立基于静态 IP 地址的转换。此命令基于将地址强制转换为目标范围的算法。

  此命令后面的下一个单词是接口名称,如 hme0。

  接下来,可以从确定 NAT 配置的各种参数中进行选择。其中一些参数包括:

  ipmask,指定网络掩码。

  dstipmask,指定 ipmask 要转换成的地址。

  mapport,指定 tcp、udp 或 tcp/udp 协议以及端口号的范围。

  以下示例说明如何组织 NAT 规则语法以创建 NAT 规则。要重新编写从源地址为 192.168.1.0/24 的 de0 设备上传出的包并在外部将该设备的源地址显示为 10.1.0.0/16,需要在 NAT 规则集中包括以下规则:

  map de0 192.168.1.0/24 -> 10.1.0.0/16

  四、NAT服务器的监控

  1、查看Solaris IP过滤器的pfil统计信息,使用命令:

  #ndd -get /dev/pfil qif_status

  2、查看NAT 统计,使用命令:

  # ipnat –s

  3、查看NAT服务器的日志文件,使用命令:

  # ipmon -o N

  4 清除NAT日志,使用命令:

  # ipmon -F

  5 如何取消激活NAT,使用命令:

  # ipnat -FC

  -C 选项删除当前 NAT 规则列表中的所有项。-F 选项删除当前 NAT 转换表(它显示当前活动的 NAT 映射)中的所有活动项。

  总结:使用NAT网络地址转换技术可以通过“私有地址”来扩充IP地址空间,解决目前IPV4地址资源不足的问题。文中介绍了Solaris 下NAT的工作原理与实现SNAT和DNAT两种方式。

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

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

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