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防火,系統爲junos,untrsut口地址是211.147.75.194/27,trust口地址爲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/0的IP地址是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/01的IP是10.10.8.1,你只能看到一個子接口ge-0/0/1.0的IP地址是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
#配置DNS爲8.8.8。8
2、建立遠程登陸用戶
set system login user test uid 2000
#建立一個登陸的用戶test,它的UID是2000,默認也是以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時,用的公網IP是211.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
接下來就需要做策略的調用
注意:junos和screen OS在NAT/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的地址,方向是從untrust到trust
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、配置untrust口IP地址爲211.147.75.208/27
用IE登入設備後,點擊Interfaces-Link Aggregation,在點右上角的Edit,默認灰色的是無法輸入,zone區域輸入untrust,選擇IPV4 Address,Add,輸入ISP提供的公網地址211.147.75.208/27
2、配置trust口地址爲10.10.8.1/7
點擊Interfaces,Link Aggregation,Eddit,zone區域選擇trust,選擇IPV4 Address,Add,輸入trust口地址10.10.8.1/7
3、添加一條默認路由
點擊Routing,Static Routing,選擇IPV4,IP address輸入0.0.0.0,Subnet mask輸入0.0.0.0,在點擊Add,輸入下一跳網關211.147.75.193
4、添加一個超級管理員用戶,用來遠程telnet或者http管理
點擊System Properties,Edit,User Mangerment,user id輸入2000,輸入密碼,確認密碼,login class選擇super-user,點擊Add
5、開啓untrust端口的telnet/http/https服務,但首先需要在配置模式下開啓
點擊system properties,Edit,managerment access,managerment,勾選Enable telnet/Enable HTTP/Enable HTTPS,最後選擇所有的端口
6、開啓端口下的telnet/http/https/等應用
點擊Security,zones/screens,Main,選擇端口ge-0/0/0.0,也就是untrust端口,在選擇Host inbound traffic-zone,在下面的services裏面選擇telnet/http/https等服務
7、建立靜態nat映射
點擊Nat,static 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關係
點擊nat,proxy arp,Add,在interface裏面選擇ge-0/0/0.0,address/range裏輸入211.147.75.208,點擊Add
9、建立一條3389的應用,名字叫作remote-3389
點擊security,policy elements,applications,Add,在Application name裏輸入remote-3389,mattch ip protocol裏輸入tcp,destination port裏輸入3389,source port裏輸入1-65535
10、建立一個地址簿,因爲是要訪問10.10.11.11,而這個地址屬於trust
點擊security,policy elements,address book,Add,在zone裏面選擇trust,Address name裏輸入10.10.11.11(這個名字可以叫別的,我是爲了以後區分方便就寫了10.10.11.11),在下面的地址欄裏輸入10.10.11.11/32
11、建立一條策略,調用剛纔設置的應用和地址
點擊security,policy,FW Policies,Add,在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端口已開放成功