Junos静态NAT+端口映射

 

要建立junos的静态NAT和端口映射关系,那么需要先明白一些事情,尤其是它与screen os的区别,它与screen os的区别在于以下三点

1、 screen os里面,做公网与私网一对一的映射的功能叫做MIP,而在junos里面叫做静态NAT

2、 screen os里面,在对MIP所对应的主机开放端口时,是需要调用刚才建立的MIP关系,而在junos 里面则不用

3、 Junos在建立完静态映射之后,需要在建立一条proxy-arp的概念

明白这三点以后,接下来还要了解一下junos的静态NAT的工作方式:当广域网的机器在访问公司的服务器的某个端口的时候,是先访问这台服务器的公网IP——公网IP在通过静态NAT找到服务器的私网IP——服务器的私网IP在去找发布的策略——发布的策略在去调用刚刚建立的地址和应用

环境模拟:

一台juniper SRX 650防火,系统为junosuntrsut口地址是211.147.75.194/27trust口地址为10.10.8.1/7,现在trust下面连接一台服务器10.10.11.11,现在外面用户希望在通过公网IP211.147.75.208来远程访问10.10.11.11这台服务器的3389端口


 


先用CLI命令来进行配置

全局下的基本配置

1、配置端口IP及路由

set interfaces ge-0/0/0 unit 0 family inet address 211.147.75.194/27

#配置untrust口的地址是211.147.75.194,默认ge-0/0/0端口是untrust口,至于为什么用unit 0我确实不清楚,配置完后,你不会看到ge-0/0/0IP地址是211.137.75.194,而是看到ge-0/0/0.0的一个子接口的IP地址是211.147.75.194

set interfaces ge-0/0/1 unit 0 family inet address 10.10.8.1/8

#配置一个内网的端口的IP地址是10.10.8.1/8,同理,你不会看到ge-/0/01IP10.10.8.1,你只能看到一个子接口ge-0/0/1.0IP地址是10.10.8.1

set routing-options static route 0.0.0.0/0 next-hop 211.147.75.193

#配置一条默认路由,下一跳网网是211.147.75.193,这是我们ISP的网关

set system name-server 8.8.8.8

#配置DNS8.8.88

2、建立远程登陆用户

set system login user test uid 2000

#建立一个登陆的用户test,它的UID2000,默认也是以2000开始的

set system login user hdlxinyu class super-user

#设置该用户的权限是超级管理员

set system login user test uid 2000 authentication plain-text-password

输入密码:

在次输入密码

#设置该用户的密码,密码是名文方式,但是在显示的时候,会以加密的形式显示,官方不推荐用加密的方式来设置密码,所说是验证时会出现问题,我未做过相应偿试,所以无权反驳这个结论)

3、开启设备端口的服务

set system services telnet

#开启telnet服务,要想开启设备的某个端口下开启一个服务,那么首先要在配置模式下开启这个服务,比如我这里开启的telnet

set security zones security-zone untrust host-inbound-traffic system-services telnet

#定义访问这个服务的方向,当然是从untrust口流入的

set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services telnet

#再在这个接口下面开启相对应的服务,如我现在将untrust口的telnet服务打开,同理开启webmanager/ftp/tftp/https等服务都是一样

4、定义一个静态NAT,将开放相应的端口

要求:将服务器地址为10.10.11.11/8的这台服务器的3389端口开放出去,外部用户在访问这台机器的3389时,用的公网IP211.147.75.208/27

set security nat static rule-set static-nat from zone untrust

#做静态映射,因为我是做一个公网对私网的映射,所以方向是从untrust

set security nat static rule-set static-nat rule rule5 match destination-address 211.147.75.208/32

#定义一个NAT的名字叫做static-nat,规则叫做rule5,所匹配的公网IP地址是211.147.75.208/32(这里用32掩码是为了精确匹配这某一个公网IP

set security nat static rule-set static-nat rule rule5 then static-nat prefix 10.10.11.11/32

#对于这条名叫static-nat规则是rule5的静态NAT,配置对应的私网IP地址10.10.11.11

set security nat proxy-arp interface ge-0/0/0.0 address 211.147.75.208/32

#最后在设置一条proxy-arp,端口是untrust端口,我的设备的untrust端口是ge-0/0/0.0,在写上要对应的公网IP

接下来就需要做策略的调用

注意:junosscreen OSNAT/MIP的不同之处在于,screen os在做完MIP映射之后,还需要做一条对映的策略,这条策略的目的是用来发布MIP所建立的公网与私网的关系,而junos的不同之处在于,它在做完静态NAT映射之后,也需要用策略来发布所做的映射,唯一不同的是,在这里是不需要调用刚刚所做的NAT映射的)

set applications application remote-3389 protocol tcp

#建立一条应用名字叫做remote-3389,所用到的协议是TCP

set applications application remote-3389 source-port 1-65535

   #设置该应用的源端口是所有,通常写成1-65535

set applications application remote-3389 destination-port 3389

   #设置该应用的目的端口是3389

   set security zones security-zone trust address-book address 10.10.11.11 10.10.11.11/32

   #建立一个地址簿,名字叫做10.10.11.11,所对应的地址是10.10.11.11/32,因为这个地下是trust端口的地址,所以在选择区域的时候,需要选择trust

   set security policies from-zone untrust to-zone trust policy CE-3850-policy match

destination-address 10.10.11.11

   #建立一条策略,策略的名字叫做CE-3850,所匹配的目地地址是刚刚建立的名字叫做10.10.11.11的地址,方向是从untrusttrust

   set security policies from-zone untrust to-zone trust policy CE-3850-policy match application remote-3389

   #在这条策略上面调用remote-3389这个应用

   现在就已经将211.147.75.208-10.10.11.11所对映的这条NAT关系的3389端口开放出去了

  整理一下思路,要做一条MIP映射,并且要开放端口,步骤是

建立NAT映射关系

建立proxy-arp地址

建立一条应用

建立一个地址

建立二条策略调用地址和应用

接下来用图形界面来演示

1、配置untrustIP地址为211.147.75.208/27

IE登入设备后,点击Interfaces-Link Aggregation,在点右上角的Edit,默认灰色的是无法输入,zone区域输入untrust,选择IPV4 AddressAdd,输入ISP提供的公网地址211.147.75.208/27


2、配置trust口地址为10.10.8.1/7

点击InterfacesLink AggregationEdditzone区域选择trust,选择IPV4 AddressAdd,输入trust口地址10.10.8.1/7


3、添加一条默认路由

点击RoutingStatic Routing,选择IPV4IP address输入0.0.0.0Subnet mask输入0.0.0.0,在点击Add,输入下一跳网关211.147.75.193


4、添加一个超级管理员用户,用来远程telnet或者http管理

点击System PropertiesEditUser Mangermentuser id输入2000,输入密码,确认密码,login class选择super-user,点击Add


5、开启untrust端口的telnet/http/https服务,但首先需要在配置模式下开启

点击system propertiesEditmanagerment accessmanagerment,勾选Enable telnet/Enable HTTP/Enable HTTPS,最后选择所有的端口


6、开启端口下的telnet/http/https/等应用

点击Securityzones/screensMain,选择端口ge-0/0/0.0,也就是untrust端口,在选择Host inbound traffic-zone,在下面的services里面选择telnet/http/https等服务


 


7、建立静态nat映射

点击Natstatic NAT,输入NAT名字static nat,在from区域里面选择untrust,点击Add,输入规则名字,rule5,输入destination address 211.137.75.208/32,输入static pprefex地址10.10.11.11/32


8、建立proxy arp关系

点击natproxy arpAdd,在interface里面选择ge-0/0/0.0address/range里输入211.147.75.208,点击Add


9、建立一条3389的应用,名字叫作remote-3389

点击securitypolicy elementsapplicationsAdd,在Application name里输入remote-3389mattch ip protocol里输入tcpdestination port里输入3389source port里输入1-65535


10、建立一个地址簿,因为是要访问10.10.11.11,而这个地址属于trust

点击securitypolicy elementsaddress bookAdd,在zone里面选择trustAddress name里输入10.10.11.11(这个名字可以叫别的,我是为了以后区分方便就写了10.10.11.11),在下面的地址栏里输入10.10.11.11/32


11、建立一条策略,调用刚才设置的应用和地址

点击securitypolicyFW PoliciesAdd,在policy name里输入test,在policy action里选择permit,在from zone里选择untrust,在to zone里面选择trust,在source address里选择any,在destination address里选择刚才建立的地址名称10.10.11.11,在下面的应用里选择remote-3389


到此,211.147.75.208-10.10.11.11对应的3389端口已开放成功