TCP
本地系統利用靜態路由的地址 (如 LAN Net)
路由的另一端的網絡
設置為任意標識 (在高級選項下)
選Sloppy 狀態(在高級選項下)
單擊 保存
單擊浮動選項卡
單擊 在列表頂部添加新的規則
進行如下設置:
流量來源的接口 (如 LAN)
Out
TCP
本地系統利用靜態路由的地址 (如 LAN Net)
路由的另一端的網絡
設置為任意標識 (在高級選項下)
選Sloppy 狀態(在高級選項下)
單擊保存
如果來自其他來源或目的地的其他流量在TCP標志(例如“TCP:SA”或“TCP:PA”)在防火墻日志中顯示被阻止,則可以調整或復制規則以匹配該流量。
注意
如果需要在靜態路由子網之間進行流量過濾,則必須在路由器上進行過濾,而不是在防火墻上完成,因為防火墻不在網絡上,這樣可以有效控制流量。
路由公共IP地址
54人閱讀
本節介紹在單個防火墻部署中將公有IP子網分配給內部接口的公共IP地址的路由。
IP 分配
ISP至少需要分配兩個公共IP子網。 一個用于防火墻的WAN,另一個用于內部接口。 這通常是WAN的一個/ 30子網,為內部接口分配第二個子網。 WAN和內部IP分配如下圖所示。
IP 地址 分配198.51.100.65ISP路由器(pfSense默認網關)198.51.100.66pfSense WAN接口IP地址
IP 地址 分配192.0.2.129pfSense OPT1接口192.0.2.130 內部主機192.0.2.131192.0.2.132192.0.2.133192.0.2.134接口配置
首先配置WAN和OPT接口。如果需要,LAN接口也可用于公共IP地址。在本例中,LAN是專用IP子網,OPT1是公用IP子網。
WAN接口配置
相應地添加IP地址和網關。如下圖所示。
OPT1接口配置
現在啟用OPT1,可以選擇更改其名稱,并配置IP地址和子網掩碼。如下圖所示。
配置NAT
在內部接口上使用公共IP地址時,必須將內部通信轉換為WAN IP的默認設置。
導航到 Firewall > NAT
單擊Outbound(出站)選項卡
選擇Hybrid Outbound NAT rule generation(選擇混合出站NAT規則生成)
單擊Save
單擊 使用以下設置將新規則添加到列表頂部:
選中,這樣NAT將被禁用
WAN
Any
網絡中輸入本地公網IP子網, 192.0.2.128/29
Any
單擊Save
這將覆蓋默認的自動規則,該規則將從本地接口離開WAN接口的所有流量轉換為WAN IP地址。 來自OPT1網絡192.0.2.128/29的流量不會被轉換,因為手動添加的規則將其排除在NAT之外。 此配置保持其他內部接口的自動行為,以便自動出站NAT規則的優點不會丟失。下圖顯示了此配置。
如果在所有本地接口上使用公共IP地址,請設置Disable Outbound NAT(禁用出站NAT),而不是使用Hybrid mode(混合模式)。
防火墻規則配置
NAT和IP地址配置現在已完成。 需要添加防火墻規則以允許出站和入站流量。 下圖顯示了類似DMZ的配置,其中所有去往LAN子網的流量都被拒絕,允許DNS和ping到OPT1接口IP地址,并允許HTTP出站。
要允許來自Internet的流量到達內部接口上的公共IP地址,請使用公共IP地址作為目標在WAN上添加規則。 圖WAN防火墻規則顯示了一個允許HTTP到192.0.2.130的規則,這是內部接口上的公共IP地址之一。
注意
在沒有NAT的情況下,流量將從LAN流向這個公共子網。如果不需要這種行為,請相應地調整LAN防火墻和NAT規則。此外,策略路由可能需要繞過以允許從LAN到該接口。
路由協議
pfSense目前支持三種路由協議:
RIP (路由信息協議)
BGP (邊界網關協議)
OSPF (開放最短路徑優先)
本節詳細介紹了這些內容,并假定了解路由協議是一項先決條件。關于路由協議的深入討論超出了本書的范圍。
RIP
RIP是路由插件的一部分。要安裝它:
導航到系統>插件管理
點擊可用插件
在列表中找到routed
單擊右側的,安裝routed
點擊確認
等待安裝完成
導航到系統服務> RIP
配置RIP:
選中 Enable RIP框
選擇將偵聽并發送路由更新的Interfaces RIP
選擇RIP version
如果RIPv2正在使用并且需要網絡密碼,請輸入RIPv2 password。
單擊 Save
RIP將立即啟動并開始在指定的接口上發送和接收路由更新。
BGP
要使用OpenBSD的OpenBGPD插件,必須先安裝它:
導航到系統>插件管理
點擊可用插件
在列表中找到OpenBGPD
單擊右側的,安裝OpenBGPD
點擊確認
等待安裝完成
導航到系統服務> OpenBGPD
BGP是一個復雜的野獸,詳細描述它不在本書的討論范圍之內。 對于那些了解BGP的人來說,在pfSense上配置OpenBGPD是直接的。 在開發這個插件的過程中,我們依賴于O'Reilly的BGP書籍,并將它推薦給任何想要部署BGP的人。
OpenBGPD插件的一般配置形式是:
使用遠程AS在Group選項卡上配置組
在Neighbors選項卡上配置一個或多個鄰居作為定義的組的成員
在Settings選項卡上根據需要配置本地AS和網絡通告
OSPF
在pfsense中有一個使用Quagga路由守護程序的OSPF插件。要安裝它:
導航到系統>插件管理
點擊可用插件
在列表中找到Quagga_OSPF
單擊右側的,安裝 Quagga_OSPF
點擊確認
等待安裝完成
導航到系統服務>Quagga OSPF
OSPF也是一個相當復雜的路由協議,雖然不像BGP那樣復雜。 配置OSPFD的細節也超出了本書的范圍,但對于習慣了OSPF的人來說,在GUI中找到的配置選項將會很熟悉。
Quagga OSPF插件的一般配置形式是:
根據需要添加接口,將本地接口子網標記為被動,并將其他OSPF路由器作為活動對象。
根據需要配置router ID, area ID等常規設置。
故障排查
在診斷通信流量問題時,首先要檢查pfSense已知的路由。
查看路由
有兩種方式查看路由:通過WebGUI和通過命令行。
要在WebGUI中查看路由,請導航至系統診斷>路由,如下圖所示。
命令行輸出與WebGUI中的輸出類似:
# netstat -rWn Routing tables Internet: Destination Gateway Flags Use Mtu Netif Expire default 198.51.100.1 UGS 1822 1500 igb1 10.2.0.0/24 link#2 U 0 1500 igb0 10.2.0.1 link#2 UHS 0 16384 lo0 127.0.0.1 link#11 UH 204 16384 lo0 198.51.100.0/24 link#3 U 1181 1500 igb1 198.51.100.1 00:08:a2:09:95:b6 UHS 2789 1500 igb1 198.51.100.2 link#3 UHS 0 16384 lo0
這些頁面上顯示的列表示路由的各種屬性,將在本節后面進行解釋。
Destination(目的地)
該列包含目標主機或網絡。系統的默認路由顯示為default。否則,主機按IP地址列出,網絡列出IP地址和CIDR子網掩碼。
Gateway(網關)
網關是通過其發送到特定目的地的分組路由器。 如果此列顯示鏈接(如link#1),則該網絡可通過該接口直接訪問,并且不需要特殊路由。 如果一臺主機可以看到一個MAC地址,那么它是一個本地可達的主機,在ARP表中有一個條目,并且數據包直接發送到那里。
Flags(標志)
有很多標志,所有這些標志都在FreeBSD的netstat(1)手冊頁中進行了介紹,如下表所示:
1RTF_PROTO1協議特定路由標志 #12RTF_PROTO2協議特定路由標志 #23RTF_PROTO3協議特定路由標志 #3BRTF_BLACKHOLE在更新期間丟棄數據包bRTF_BROADCAST代表廣播地址DRTF_DYNAMIC通過重定向動態創建GRTF_GATEWAY目的地需要中介轉發HRTF_HOST主機輸入(否則為網絡)LRTF_LLINFO鏈接地址轉換的有效協議MRTF_MODIFIED動態修改(通過重定向)RRTF_REJECT主機或網絡無法訪問SRTF_STATIC 手動添加URTF_UP 可用路由XRTF_XRESOLVE外部守護進程將協議轉換為鏈接地址
例如,標記為UGS的路由是可用的路由,數據包通過列出的網關發送,并且是靜態路由。
Refs
此列計算給定路由的當前活動使用次數。
Use
通過此路由發送的數據包總數。這有助于確定路由是否實際使用,因為隨著數據包利用路由它將不斷增加。
Netif
用于此路由的網絡接口。
Expire
對于動態條目,此字段顯示直到此路由過期,直到它不再被使用為止。
使用跟蹤路由
Traceroute是一個非常有用的工具,用于測試和驗證路由和多WAN功能。它顯示了數據包從一端到另一端的路徑中的每個“跳”,以及到達該中間點時遇到的延遲。在pfSense上,可以通過導航到系統診斷> 跟蹤路由或通過在命令行上使用traceroute來執行跟蹤路由。在Windows上,該程序名稱為tracert。
每個IP數據包都包含一個生存時間(TTL)值。當路由器傳遞一個數據包時,它將TTL遞減1。當路由器收到TTL為1的數據包,并且目標不是本地連接的網絡時,路由器會返回ICMP錯誤消息“超出生存時間”并丟棄數據包。這是為了限制路由環路的影響,否則會導致每個數據包無限循環。
Traceroute利用這個TTL來將路徑映射到特定的網絡目的地。它通過發送TTL為1的第一個數據包開始。第一個路由器(通常是默認網關)將發回ICMP超時生存時間錯誤。發送數據包和接收ICMP錯誤之間的時間是顯示的時間,與發送錯誤的IP地址及其反向DNS(如果有)一起列出。在發送三個TTL為1的數據包并顯示它們的響應時間后,它將TTL增加到2并發送三個數據包,注意第二跳的相同信息。 Traceroute遞增TTL并重復該過程,直到達到指定的目的地,或超過最大跳數。
Traceroute在Windows和類Unix操作系統(BSD,Linux,Mac OS X,Unix等)上的功能稍有不同。 Windows使用ICMP回應請求數據包(ping),而類Unix系統默認使用UDP數據包。 ICMP和UDP是第4層協議,并且traceroute在第3層完成,因此除了考慮策略路由配置時,所使用的協議在很大程度上是不相關的。來自Windows客戶端的Traceroute將根據哪個規則允許ICMP回應請求進行策略路由,而類Unix客戶端將按照與正在使用的UDP端口相匹配的規則進行路由。
在本例中,traceroute用于查看www.google.com的路由:
# traceroute traceroute: Warning: www.google.com has multiple addresses; using 74.125.95.99 traceroute to www.l.google.com (74.125.95.99), 64 hops max, 40 byte packets 1 core (172.17.23.1) 1.450 ms 1.901 ms 2.213 ms 2 172.17.25.21 (172.17.25.21) 4.852 ms 3.698 ms 3.120 ms 3 bb1-g4-0-2.ipltin.ameritech.net (151.164.42.156) 3.275 ms 3.210 ms 3.215 ms 4 151.164.93.49 (151.164.93.49) 8.791 ms 8.593 ms 8.891 ms 5 74.125.48.117 (74.125.48.117) 8.460 ms 39.941 ms 8.551 ms 6 209.85.254.120 (209.85.254.120) 10.376 ms 8.904 ms 8.765 ms 7 209.85.241.22 (209.85.241.22) 19.479 ms 20.058 ms 19.550 ms 8 209.85.241.29 (209.85.241.29) 20.547 ms 19.761 ms 209.85.241.27 (209.85.241.27) 20.131 ms 9 209.85.240.49 (209.85.240.49) 30.184 ms 72.14.239.189 (72.14.239.189) 21.337 ms 21.756 ms 10 iw-in-f99.google.com (74.125.95.99) 19.793 ms 19.665 ms 20.603 ms
輸出結果表明,它需要10跳才能到達那里,并且每次跳躍的延遲一般都會增加。
注意
在利用策略路由(如多WAN)時,防火墻本身可能不會在traceroute中顯示為1“跳”。 使用策略路由時,pf在轉發數據包時不會減少TTL,因此traceroute無法將其檢測為中間路由器。
路由和V-P-N
根據所使用的v-p-n,路由可能不會顯示在遠端的表中。 IPsec不使用路由表,而是使用IPsec安全策略數據庫(SPD)條目在內核中進行內部處理。 靜態路由永遠不會導致流量通過IPsec連接。 Open***使用系統路由表,因此對于通過Openv-p-n隧道可訪問的網絡,存在這樣的條目,如下例所示:
#netstat -rWn Routing tables Internet: Destination Gateway Flags Use Mtu Netif Expire default 198.51.100.1 UGS 92421 1500 em0 10.6.0.0/16 10.6.203.1 UGS 0 1500 o***c2 10.6.203.0/24 10.6.203.2 UGS 0 1500 o***c2 10.6.203.1 link#9 UH 0 1500 o***c2 10.6.203.2 link#9 UHS 0 16384 lo0 10.7.0.0/24 link#2 U 1260771 1500 em1 10.7.0.1 link#2 UHS 0 16384 lo0 127.0.0.1 link#7 UH 866 16384 lo0 198.51.100.0/24 link#1 U 1251477 1500 em0 198.51.100.7 link#1 UHS 0 16384 lo0
Openv-p-n接口為10.6.203.2,網關為10.6.203.1,接口為o***c2。 在這個例子中使用Openv-p-n可以訪問的網絡是10.6.0.0/16。
對于IPsec,由于IPsec隧道本身沒有IP地址,因此跟蹤路由不如Openv-p-n這樣的路由設置有用。 當通過IPsec將路由跟蹤運行到目標時,將顯示作為IPsec隧道的跳躍超時。
更多關于云服務器,域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn