• 69

[v6.0.1, v5.6.5, v5.4.9] FortiOS Cook & Research


vxr wrote:
我先確定wan的部...(恕刪)

值以列出

dev=3 devname=wan1 flag=P scope=253 prefix=64 addr=fe80::926c:acff:fe90:9d62 preferred=4294967295 valid=4294967295
dev=16 devname=root flag=P scope=254 prefix=128 addr=::1 preferred=4294967295 valid=4294967295
dev=18 devname=internal flag=P scope=253 prefix=64 addr=fe80::926c:acff:fe90:9d65 preferred=4294967295 valid=4294967295
dev=19 devname=vsys_ha flag=P scope=254 prefix=128 addr=::1 preferred=4294967295 valid=4294967295
dev=21 devname=vsys_fgfm flag=P scope=254 prefix=128 addr=::1 preferred=4294967295 valid=4294967295
dev=24 devname=ppp1 flag= scope=0 prefix=64 addr=2001:b011:80c0:91c:926c:ac90:fffe:9d62 preferred=4294967295 valid=4294967295
dev=24 devname=ppp1 flag=P scope=253 prefix=10 addr=fe80::926c:ac90:fffe:9d62 preferred=4294967295 valid=4294967295

full827 wrote:
值以列出dev=3...(恕刪)

試著以下命令:
config sys int
edit wan1
config ipv6
set ip6-mode pppoe
set dhcp6-prefix-delegation enable
set autoconf ena
end
next
end

autoconf 作為enable時候會將該interface成為SLAAC client
dhcp6-prefix-delegation則是啟用DHCP-PD, 做為跟ISP溝通取則prefix資訊

在使用以下命令:
config sys int
edit [LAN端介面]
config ipv6
set ip6-mode delegated
set ip6-send-adv enable
set ip6-manage-flag dis
set ip6-other ena
set ip6-upstream-interface "wan1"
set ip6-subnet ::1/64
config ip6-delegated-prefix-list
edit 1
set upstream-interface "wan1"
set autonomous-flag enable
set onlink-flag enable
set subnet ::/64
next
end
end
next
end

然後請先透過GUI設定系統的IPv6 DNS
之後再鍵入以下命令:
config sys dhcp6 server
edit 1
set interface [LAN端介面]
set upstream-int wan1
set ip-mode delegated
set dns-service def
next
end

請等待5~15秒..
使用以下命令測試:
diag ipv6 address list
注意到有沒有LAN端介面取得2001開頭的IPv6位址...
一段時間依然沒有發現到請把FGT重開機..
再用diag查看有沒有取得...

vxr wrote:
試著以下命令:config...(恕刪)

真的是超級感謝你
五分奉上

經過指令輸入之後,IPv6已經正常運作
test-ipv6.com時測後也拿下10分滿分

不過比較好奇的是
FG 的IPv6功能似乎只能透過CLI介面啟用嗎?

之前家裡的Vigor 2925 可以透過PPPoE的方式來連線到IPv6
不過FG的GUI選PPPoE反而沒反應

vxr wrote:
試著以下命令:config...(恕刪)


補充一下

config sys dhcp6 server
edit 1
set interface [LAN端介面]
set upstream-int wan1
set ip-mode delegated
set dns-service def
next
end

最後步驟這裡
要先下完
set ip-mode delegated
set dns-service def

最後才能下set upstream-int wan1

config sys dhcp6 server
edit 1
set interface [LAN端介面]
set ip-mode delegated
set dns-service def
set upstream-int wan1 //最後才下此指令
next
end

我的狀況是這樣

其他機型或是OS可能就不一樣
full827 wrote:
真的是超級感謝你五...(恕刪)

FGT的IPv6是比較全面性的..
GUI大致上都有..
只是細節上缺東缺西的..
難免需要一些CLI操作...
例如PPPoE 6in4, IPv6 over IPv4 tunnel(sit-tunnel)..

ip-mode delegated也是v5.4之後才有的..
否則之前的v5.2...
PPPoE IPv6根本不可能...
FortiSoC3目前確認的一些硬體加速機能(np6lite):
1. IPv4 Routing/Forwarding/VLAN
2. IPv6 Routing/Forwarding/VLAN
3. NAT46, NAT64
4. Multicast, Multicast over IPsec
5. Hardware Shared shaping, Per-IP shaping, priority queuing(QoS)
6. IPSec VPN
7. ICMP, SCTP
8. IPv6 tunneling
9. flow-based IPS acceleration(nTurbo; Web-filter, Antivirus, Application Control, IPS)
10. Hardware inter VDOM-links
11. Anomaly-based intrusion prevention

比較舊款的FortiSoC2加速機能:
1. IPv4 Routing/Forwarding/VLAN
2. Multicast(IPv4)
3. IPSec VPN(IPv4)
4. ICMP(IPv4)

比較古老的NP2硬體加速器:
1. IPv4 Routing/Forwarding/VLAN
2. Multicast(IPv4)
3. IPSec VPN(IPv4)
4. ICMP(IPv4)
5. Hardware Shared shaping, priority queuing(QoS)
6. Anomaly detection(IPv4, DoS)
7. Mulitcast(IPv4)

FortiSoC3 CPU硬體訊息更正:

4核心, 1GHz, Cortex-A9, 32-bit
v5.6.2已經發佈...

沒有任何功能新增..
主要是修正非常噁心的SSLVPN bug..

UPDATED:
well..
一些糟糕的sslvpn bug依然沒有被修正..
如何使用Windows RADIUS(NPS)驗證VPN帳戶
本篇將應用Windows NPS Server對FGT的SSLVPN連線進行驗證. 從Handbook - Authentication文件中得知, FortiOS對於Windows RADIUS
server支援如下的RADIUS屬性:

其中特別注意的是VSA屬性, 這是因為Windows RADIUS的vendor並沒有包含Fortinet, 因此要自行擴增.
另外可以從文件中得知FortiGate對於RADIUS提供的RADIUS accounting部分:


首先, 必須有一台安裝NPS的Windows Server. 如下圖所示:

先從DC的Server得知要驗證那些使用者群組, 這裡要驗證的有兩這群組: Domain Users和Enterprise Admins

注意帶的網域(Domain)是STORAID.LOCAL, 因此它的群組名稱會是這樣:
STORAID\Domain Users
STORAID\Enterprise Admins

設定NPS的RADIUS Clients, 也就是那些設備要連線到RADIUS服務, 在這邊的連線裝置是FortiGate:

來看看這個名為FortiGate Devices的client細節:

可以發現設定的Address是一組網段(10.2.140.16/29), 因此它可以接受超過一台以上的網路裝置驗證. 完成這個設定後, 回到FortiOS的操作畫面去增加RADIUS Server裝置:

你可以發現到上圖特別指定了NAS IP, 目的用來綁定特定的NPS policy. 可以使用Test Connectivity進行對FortiGate連線到RADIUS Server的測試. 但是會發現到一個讓人confused的情況:

亂打不正確的帳號密碼都可以通過驗證. 如下是來自Fortinet工程師的回覆:
this behaviour is expected as we do not support testing user credentials against the Radius server just yet. The credentials here is only used to improve the test's speed as described in the dialog. Incorrect credentials will be ignored. We will however add support for credentials testing in future release. Sorry for the confusion.

因此目前只要確定FortiGate能正確連線到RADIUS Server即可. 之後這邊設定了兩個User Groups: FW_Basic_Users和FW_Admins:

這兩個Groups的細節如下圖所示:
>> FW_Admins

>> FW_Basic_Users

特別注意了, FW_Basic_Users也綁定了FW_Admins群組. 接下來重點在於NPS的設定, 先針對Connection Request Policies進行設定:

這邊建立了名為:Use Windows authentication to FortiGate units的policy. 該policy最主要的是條件(Conditions)的設定:

特別注意了Client Friendly Name, 這個指的是RADIUS Clients建立的裝置名稱, 也就是剛剛名為FortiGate Devices的裝置, 並且允許的Address為10.2.140.16/29.
換句話說, 這個policy只允許FortiGate Devices的連線請求. 之後其他照預設值還成該policy的建立.

再來設定Network Policies, 這是NPS最重要的一部分, 這邊建立了兩個policies:

這兩個policies分別針對了Enterprise Admins的管理者和Domain Users的一般使用者.
這裡有一個要點就是順序性(order), 你可以發現名為Connections to specified FortiGate with Enterprise Admins的管理者policy順序是優於Domain Users的Connections to specified FortiGate with Domain Users的policy. 這個順序性是非常重要的.

這個設定的驗證想法是, 先確定接受驗證的帳戶是不是管理者帳戶, 如果不是在判斷是不是Domain Users的一般使用者帳戶. 來看看Connections to specified FortiGate with Enterprise Admins的管理者policy細節, 先注意條件(Conditions)的設定:

其中可以看到該policy只接受Enterprise Admins群組下的帳戶以及NAS IP綁定特定的FortiGate. 請回顧上圖的FortiGate對RADIUS Server設定有一欄為NAS IP的項目, 設定了10.2.140.16的IP. 因此這個policy與該FortiGate特別綁定. 之後Constraints部分只允許使用MS-CHAP-v2的驗證方法:

然後再看看Settings的部分, 這裡特別提醒其中的Vendor Specific項目. 該設定的欄位部分要特別注意, 非常重要. 這邊新增了Vendor-Specific屬性的項目:

先前有提及到VSA的屬性部分, VSA屬性與此設定部分有關, 這關係到FortiGate驗證連線帳戶的成功與否, 因此再次特別提醒. 來看看VSA屬性的細節, 在Handbook - Authentication文件中展示了如下欄位:

在這邊只會使用兩個欄位: VENDOR和Fortinet-Group-Name. Fortinet-Group-Name接收的在FortiOS設定User Groups的群組名稱:

對應到NPS的Vendor-Specific項目的欄位設定, 特別注意Vendor Code是Fortinet特別指定的12356數值:

然後conform特定屬性, 這個policy只接受Enterprise Admins群組下的帳戶, 設定屬性(Configure Attributes):

這裡特別重要的是, 他對應了VSA的Fortinet-Group-Name屬性:
number : 1
format : string
value : STORAID\Enterprise Admins
之後, 其他照預設值完成這個管理者的policy的建立. 接下來針對Domain Users的policy建立, 來看看Conditions:

主要針對了Domain Users的一般使用者, 往下Constraints項目與之前的管理者policy一樣. 最後Settings的Vendor-Specific除了Fortinet-Group-Name屬性不一樣之外, 其他與之前的管理者policy一致:

number : 1
format : string
value : STORAID\Domain Users

這兩個policies都建立完成後, 針對FortiOS的SSLVPN進行設定. 這裡會使用SSL-VPN Realms來切割一般使用者和管理者的連線網址, 來看看Realms的設定:

建立一個full的Realms項目, 這個主要針對Enterprise Admins群組.

在SSL-VPN中建立了兩個portals: basic-access和full-access.

這兩個portals的對應是這樣的:


確認一下SSL-VPN Settings:

可以看到SSL-VPN入口的IP為10.1.1.16, 那麼針對full的realm, 它的網址形式會是如下:
https://10.1.1.16/full

為了讓full的realms綁定到FW_Admins的管理者群組, 在Authentication/Portal Mapping中進行如下的設定:

完成這些對應後, 可以進行對SSL-VPN的測試, 確認帳戶使用RADIUS服務驗證是否成功, 先針對一般使用者(FW_Basic_Users)的帳戶進行測試, 連線網址為: https://10.1.1.16

這邊使用了FortiClient的軟體進行SSL-VPN測試: http://www.forticlient.com/
當FortiClient設定完SSL-VPN連線成功後, 首先看看SSL-VPN Monitor的資訊:

連線的帳戶名為admin, 在來看看Firewall User Monitor資訊:

可以發現admin對應的是期望的FW_Basic_Users群組, 這部分正確無誤. 那麼來看看Windows NPS下的Event Logs針對RADIUS驗證紀錄的事件日誌:

可以看到他操作的NetworkPolicyName為Connections to specified FortiGate with Enterprise Admins. 這是因為在FW_Basic_Users是有加入STORAID\Enterprise Admins的群組, 來回顧一下:

對於管理者的Enterprise Admins群組同樣也可以為一般使用者(FW_Basic_Users)操作的SSL-VPN. 再來針對管理者的SSL-VPN進行測試,連線網址為: https://10.1.1.16/full

連線成功後, 從Firewall User Monitor來查看:

確認所屬的群組為FW_Admins, 在來查看Windows NPS下的Event Logs:


為了再次確認, 使用一般User了帳號進行測試:

這個fortinet的帳號為一般使用者(FW_Basic_Users)群組, 那麼來看看Windows NPS下的Event Logs內容為何:

可以發現他操作的NPS policy為Connections to specified FortiGate with Domain Users. 這確實是非管理者所使用的policy.

在FortiOS下, RADIUS的設定多少會比AD/LDAP繁瑣一些, 而且應用Windows NPS Server要注意幾個細節, 對於所謂的 "新手" 來說. 使用這個驗證通常會踢到"鐵板", 往往會被屬性設定部分搞得一個頭兩個大, 而使用AD/LDAP驗證會比RADIUS還來的簡單地許多, 因為它只需在FortiOS的GUI操作下, 使用滑鼠從LDAP分支樹(Tree)選擇一下群組(User Group)就好.
整合SYNOLOGY DSM的RADIUS Server去驗證FortiGate的SSL-VPN

well, 正常來說DSM安裝的RADIUS Server, 如果應用FortiOS的User Group去驗證是完全沒辦法使用的. 首先會遭遇到VSA屬性的問題. 但是這不代表它是完全不能使用的, 只是需要動一些手腳. Synology RADIUS Server源自於FreeRADIUS套件.

當安裝完RADIUS Server套, 防火牆打開1812的port, 之後把這個RADIUS服務先暫時停用掉. 主要針對VSA屬性中的Fortinet-Group-Name屬性, FortiOS使用RADIUS驗證User Group會傳遞這個屬性, 但是他不屬於RADIUS的標準屬性. 為了讓Synology RADIUS Server能夠與FortiOS的RADIUS服務做結合, 需要獲取DSM的CLI存取權進行修改, 你可以開放SSH或著TELNET.

當進入CLI之後, 這個RADIUS Server的組態設定位於: /usr/local/synoradius/的目錄下.

其中要針對rad_users組態檔進行修改, 使用vi打開這個檔案:

從這個預設的內容可以看到有兩個DEFAULT, DEFAULT項目是可以1個以上, 因此它不是唯一. 在本篇的案例, 會使用兩個groups: users和administratos

administrators作為管理者群組有一個admin的帳戶; 而users也包含這個admin, 之外還新增了一個帳戶名為fortinet:

這個fortinet使用者屬於users的群組下, 沒有被包含在administrators群組. 是一個一般使用者帳號.

針對rad_users組態檔的修改, 擴增的內容格式如下:

主要擴增了Fortinet-Group-Name屬性讓RADIUS Server能夠識別. 前面提及到DEFAULT可以有一個以上, 因此增加了如下內容:

根據 "如何使用Windows RADIUS(NPS)驗證VPN帳戶" 的內文提及到NPS policy的驗證順序, 同樣在rad_users設定也是如此. 先驗證連線的帳戶是不是屬於administrators群組, 如果不是在往下驗證是不是users群組.

寫入這些設定後, 必須要save. 但是極有可能會遭遇到無法寫入的狀況, 因為這個檔案被設定為read-only. 請參考這個網站的說明:
http://www.geekyboy.com/archives/629

完成rad_users的寫入操作後, 啟用RADIUS Server套件. 然後新增連線到RADIUS Server的Clients, 也就是FortiGate. 在本篇案例設定如下:

然後確認Settings的驗證模式是Local users:


接下來設定FortiGate, 增加RADIUS Server:

nas127.storaid.local指的是SYNOLOGY DSM. NAS IP為10.1.1.16, 是這個出口連接到DSM的interface:

可以使用Test Connectivity按鈕去確認是否可以正常連線到DSM. 確認沒問題後, 接下來增加User Groups.
根據之前的案例修改FW_Basic_Users和FW_Admins這兩個群組, 它會是如下對應:

首先看看FW_Basic_Users的設定:

在看看FW_Admins設定:

完成這兩個groups的建立後, 在看看SSL-VPN Settings:

接下來進行對SSL-VPN的測試, 首先測試管理者的portal, 網址為: https://10.1.1.16/full
使用Firewall User Monitor查看:

確認是FW_Admins後, 在查看RADIUS Server的Log:

確認無誤, FW_Admins在SSL-VPN能夠成功驗證. 接下來檢查FW_Basic_Users的驗證. portal的網址為: http://10.1.1.16
使用fortinet帳戶驗證, 連線成功後從Firewall User Monitor查看:

確認是FW_Basic_Users後, 從SYNOLOGY的RADIUS Server查看Log:

確認是fortinet帳戶, 整個SYNOLGY RADIUS Server可以良好正常運作(working fine). 兩個User Groups驗證都可以正常操作.

透過SYNOLOGY的RADIUS Server結合FortiGate驗證, 主要麻煩的是要進入CLI使用vi之類的編輯器修改rad_users組態檔. 這並非相當困難, 只是要稍微熟悉一下linux基本命令和vi之類的編輯器操作方法, 例如使用的hot keys等等...
  • 69
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 69)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?