简介
本例介绍 FortiGate 防火墙 DNS 地址转换(DNS Translation)配置方法。
一、 网络结构
网络结构如下图,PC1 连接在 FG60B 的 Internal 接口,FG60B 的 Wan1 接口连接 FG80CM 的 DMZ 接口,Wan1 接口开启 DNS 服务器(155.195.48.1)功能。
PC1 通过 DHCP 获得的 IP 地址是 40.14.104.233/24,获得的 DNS 服务器地址是 40.14.104.129,真实 DNS
服务器的地址是 155.195.48.1 ,DNS 服务器中配置 www.thomsonreuters.com 域名的 IP 地址 65.63.72.1。
要求实现 PC1 访问 www.thomsonreuters.com 时解析为 40.14.104.1 且和 65.63.72.1 通信正常。
二、 配置方法
- DNS 配置
FG80CM 的 Wan1 接口开启 DNS 服务器(155.195.48.1)功能,配置 www.thomsonreuters.com 域名的
IP 地址 65.63.72.1。
FG80CM3909603292 # sho sys dns-database
config system dns-database
edit "333"
set domain "thomsonreuters.com"
set authoritative disable
config dns-entry
edit 1
set hostname "www"
set ip 65.63.72.1
next
edit 2
set hostname "news"
set ip 65.63.72.2
next
end
next
end
FG80CM3909603292 #sho system interface wan1
config system interface
edit "wan1"
set vdom "root"
set ip 155.195.48.1 255.255.255.0
set allowaccess ping https ssh http fgfm auto-ipsec
set type physical
set snmp-index 1
set secondary-IP enable
config secondaryip
edit 1
set ip 65.63.72.1 255.255.255.0
set allowaccess ping https ssh http telnet
next
end
FG80CM3909603292 #
- DHCP 配置
FG60B 的 Internal 接口配置 DHCP 服务器。
FGT60B3907503272 # sho sys dhcp server
config system dhcp server
edit 1
set default-gateway 40.14.104.254
set interface "internal"
config ip-range
edit 1
set end-ip 40.14.104.253
set start-ip 40.14.104.233
next
end
set netmask 255.255.255.0
set dns-server1 40.14.104.129
next
end
FGT60B3907503272 #
- DNS 转换配置
FG60B 上配置 DNS 转换。
FGT60B3907503272 # sho firewall dnstranslation
config firewall dnstranslation
edit 1
set dst 40.14.104.0
set netmask 255.255.255.128
set src 65.63.72.0
next
end
FGT60B3907503272 #
将 DNS 服务器返回的解析地址 65.63.72.x 转换为 40.14.104.x
4. VIP 配置
FG60B 上配置 VIP,将 155.195.48.1 映射为 40.14.104.129,65.63.72.1 映射为 40.14.104.1。
FGT60B3907503272 # sho firewall vip
config firewall vip
edit "VIP-65.63.72.0/24"
set extip 40.14.104.1-40.14.104.127
set extintf "internal"
set mappedip 65.63.72.1-65.63.72.127
next
edit "VIP-155.195.48.0/28"
set extip 40.14.104.128-40.14.104.143
set extintf "internal"
set mappedip 155.195.48.0-155.195.48.15
next
end
FGT60B3907503272 # sho firewall policy
config firewall policy
edit 1
set srcintf "internal"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "VIP-65.63.72.0/24" "VIP-155.195.48.0/28"
set action accept
set schedule "always"
set service "ANY"
next
end
FGT60B3907503272 #
三、 PC1 上测试验证
C:\Users\tac31>ipconfig/all
以太网适配器 本地连接:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Broadcom NetXtreme Gigabit Ethernet
物理地址. . . . . . . . . . . . . : 00-1B-24-00-C8-DA
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::195b:187:548b:48b5%11(首选)
IPv4 地址 . . . . . . . . . . . . : 40.14.104.233(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2015 年 4 月 22 日 13:03:30
租约过期的时间 . . . . . . . . . : 2015 年 4 月 29 日 13:03:30
默认网关. . . . . . . . . . . . . : 40.14.104.254
DHCP 服务器 . . . . . . . . . . . : 40.14.104.254
DHCPv6 IAID . . . . . . . . . . . : 234887972
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-1B-A1-30-96-00-1B-24-00-C8-DA
DNS 服务器 . . . . . . . . . . . : 40.14.104.129
TCPIP 上的 NetBIOS . . . . . . . : 已启用
C:\Users\tac31>ping www.thomsonreuters.com
正在 Ping www.thomsonreuters.com [40.14.104.1] 具有 32 字节的数据:
来自 40.14.104.1 的回复: 字节=32 时间<1ms TTL=254
来自 40.14.104.1 的回复: 字节=32 时间<1ms TTL=254
来自 40.14.104.1 的回复: 字节=32 时间<1ms TTL=254
来自 40.14.104.1 的回复: 字节=32 时间<1ms TTL=254
40.14.104.1 的 Ping 统计信息:
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
C:\Users\tac31>
ping www.thomsonreuters.com 时解析为 40.14.104.1 且通信正常。
四、 调试命令
抓包 diag sni pac any ‘host 40.14.104.233’ 4
跟踪数据包
diag deb flow show console enable
diag deb flow filter addr 40.14.104.233
diag deb enable
diag deb flow trace start 50
查看会话
diagnose sys session filter src 40.14.104.233
diagnose sys session list
FGT60B3907503272 # diagnose sys session filter
session filter:
vd: any
proto: any
proto-state: any
source ip: 40.14.104.233-40.14.104.233
NAT'd source ip: any
dest ip: any
source port: any
NAT'd source port: any
dest port: 443-443
policy id: any
expire: any
duration: any
FGT60B3907503272 #
FGT60B3907503272 #
FGT60B3907503272 # diagnose sys session list
total session 0
FGT60B3907503272 # diagnose sys session list
session info: proto=6 proto_state=01 duration=2 expire=3597 timeout=3600 flags=00000000 sockflag=00000000
sockport=0 av_idx=0 use=3
origin-shaper=
reply-shaper=
per_ip_shaper=
ha_id=0 hakey=45290
policy_dir=0 tunnel=/
state=may_dirty
statistic(bytes/packets/allow_err): org=92/2/1 reply=52/1/1 tuples=2
orgin->sink: org pre->post, reply pre->post dev=11->3/3->11 gwy=192.168.118.18/40.14.104.233
hook=pre dir=org act=dnat 40.14.104.233:49166->40.14.104.1:443(65.63.72.1:443)
hook=post dir=reply act=snat 65.63.72.1:443->40.14.104.233:49166(40.14.104.1:443)
pos/(before,after) 0/(0,0), 0/(0,0)
misc=0 policy_id=1 id_policy_id=0 auth_info=0 chk_client_info=0 vd=0
serial=00001957 tos=ff/ff ips_view=0 app_list=0 app=0
dd_type=0 dd_rule_id=0
per_ip_bandwidth meter: addr=40.14.104.233, bps=202
total session 1
FGT60B3907503272 #
FGT60B3907503272_20150421.conf dns-server-FG80CM.conf