pfsense 只有鯉魚地址
根據文件,我目前有兩個帶有標準鯉魚設置的 pfsense 盒子,效果很好。
這裡有兩部分問題:
- 怎麼回事?我在同一個網路上意外擁有兩個 ip 的經歷並不愉快。那麼鯉魚ip和物理ip是如何和諧共存的呢?
這反映了真正的問題
- pfsense 盒子是否應該只有 carp 地址用於
wan
&lan
以及所有通信/路由/通過真實sync
IP 地址和 nic 發生的任何事情?ie:我提議
wan
andlan
沒有ip,只有sync
nic有ip,會有carp wan ip和carp lan ip
它是如何工作的
carp 是一種協議,很像 VRRP,在多個主機之間共享 IP。
如果您要在配置 carp 的介面上執行 tcpdump,您將能夠看到如下消息:
# tcpdump -vvni vlan1000 proto carp tcpdump: listening on vlan1000, link-type EN10MB 19:34:59.688730 carp 1.2.3.4 > 224.0.0.18: CARPv2-advertise 36: vhid=1 advbase=10 advskew=5 demote=0 [tos 0x4] (ttl 255, id 25329, len 56) tcpdump -vvni vlan42 proto carp tcpdump: listening on vlan42, link-type EN10MB 19:35:56.610612 carp 10.42.42.5 > 224.0.0.18: CARPv2-advertise 36: vhid=42 advbase=10 advskew=5 demote=0 (DF) [tos 0x10] (ttl 255, id 13021, len 56)
鯉魚成員會向一個多播地址發送消息,向對方宣傳他們的存在。只有一個成員會被選為給定鯉魚組的主人。
在主動-主動方案的情況下,假設 carp 成員之間共享 pf 狀態 (pfsync),您仍然可以有兩個或多個主機服務於同一個 carp 地址。
Carp 地址將根據您的 carp VHID 解析為預測性硬體地址:
# arp -na|grep 'carp.*permanent' 10.42.40.1 00:00:5e:00:01:0b carp11 permanent l 10.42.41.1 00:00:5e:00:01:08 carp8 permanent l 10.42.42.1 00:00:5e:00:01:2a carp42 permanent l 10.42.43.1 00:00:5e:00:01:07 carp7 permanent l 10.42.44.1 00:00:5e:00:01:04 carp4 permanent l 10.42.45.1 00:00:5e:00:01:03 carp3 permanent l 10.42.46.1 00:00:5e:00:01:0a carp10 permanent l 10.42.242.1 00:00:5e:00:01:02 carp2 permanent l 10.42.252.1 00:00:5e:00:01:64 carp100 permanent l 10.42.253.1 00:00:5e:00:01:05 carp5 permanent l 10.42.254.1 00:00:5e:00:01:06 carp6 permanent l 1.2.3.4 00:00:5e:00:01:01 carp1 permanent l 192.168.10.254 00:00:5e:00:01:0c carp12 permanent l
對於 VHID 1,我的 carp 地址將其 mac 設置為
00:00:5e:00:01:01
,對於 VHID 200:00:5e:00:01:02
,……等等。因此:無論哪個是您的 carp 主機,該網路中的客戶端都不需要刷新其 ARP 記憶體,它們將始終聯繫相同的硬體地址。讓兩台主機共享相同 IP 的原因通常是“不愉快的”,因為其中一個原因是:它們沒有相同的 mac。根據誰回復了您上次的 arp 請求,您可以意外地從一個切換到另一個。此外,您的兩個 pfSense 共享相似的配置,確保在您的網路中具有相同的功能。當錯誤地重新分配 IP 時,您通常擁有兩台完全不同的機器。
CARP 成員是否也應該有物理 IP
這取決於。大多數時候:沒有。我傾向於在管理或公共介面上設置一個,以確保我仍然可以訪問備份主機(例如:監控、解決某些連接問題……),或者只是設置 pfSync。
使用 FreeBSD,您還可以使用 hastd+ctld+ifstated 共享 HA LUN 設備。然後,我還會在主界面上設置一個物理 IP,因為無論誰是主人,我都需要 hastd 來同步我的設備。