快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

Solaris NAT服务器应用实例

   前文介绍了NAT原理以及NAT在Solaris应用环境下的实现:http://Linux.chinaitlab.com/administer/765920.html,下面笔者将结合具体应用情况构建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的访问顺序定位到不同的服务器。

  

  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   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 port 5801 -> 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

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

  command interface-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

   

  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两种方式。

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论