OpenVZ 上的 IPSec 多個 IP 位址,在 venet0 上使用 127.0.0.2

OpenVZ 上的 IPSec 多個 IP 位址,在 venet0 上使用 127.0.0.2

我有一個啟用了 IPSec 的 OpenVZ 盒子。

root@wa000:~# ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                                 [OK]
Linux Openswan U2.6.38/K2.6.32-042stab094.7 (netkey)
Checking for IPsec support in kernel                            [OK]
 SAref kernel support                                           [N/A]
 NETKEY:  Testing XFRM related proc values                      [OK]
    [OK]
    [OK]
Checking that pluto is running                                  [OK]
 Pluto listening for IKE on udp 500                             [OK]
 Pluto listening for NAT-T on udp 4500                          [OK]
Two or more interfaces found, checking IP forwarding            [FAILED]
Checking NAT and MASQUERADEing                                  [OK]
Checking for 'ip' command                                       [OK]
Checking /bin/sh is not /bin/dash                               [WARNING]
Checking for 'iptables' command                                 [OK]
Opportunistic Encryption Support                                [DISABLED]

我為 L2TP VPN 安裝了 openswan 和 xl2tpd。當我重新啟動 ipsec 時:

# service ipsec restart
ipsec_setup: Stopping Openswan IPsec...
ipsec_setup: Starting Openswan IPsec U2.6.38/K2.6.32-042stab094.7...
ipsec_setup: multiple ip addresses, using  127.0.0.2 on venet0

它檢測到127.0.0.2,我相信這是一個要服務的本地IP。我希望它在我的公共 IP 位址上提供服務。但我不知道如何讓 ipsec 服務正確的 ip。我用谷歌搜尋了,但似乎沒有什麼真正有用的。

這是ifconfig -a輸出。我用 xxxx、yyyy 和 zzzz 替換了實際 IP

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:18:51:69:44:e6  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

gre0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:1476  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

gretap0   Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          BROADCAST MULTICAST  MTU:1476  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:118 errors:0 dropped:0 overruns:0 frame:0
          TX packets:118 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:18229 (18.2 KB)  TX bytes:18229 (18.2 KB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:126133 errors:0 dropped:0 overruns:0 frame:0
          TX packets:102937 errors:0 dropped:724 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:11322355 (11.3 MB)  TX bytes:40737353 (40.7 MB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:x.x.x.x  P-t-P:x.x.x.x  Bcast:x.x.x.x  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:y.y.y.y  P-t-P:y.y.y.y  Bcast:y.y.y.y  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:2  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:z.z.z.z  P-t-P:z.z.z.z  Bcast:z.z.z.z  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

答案1

  1. 您沒有指定,但從您的ifconfig -a摘錄中我們可以假設您在 OpenVZ VE 內執行 ipsec,而不是硬體節點 (HN)。只是為了確定——你檢查過他們的嗎推薦對於這樣的設定?
  2. OpenVZ 的 VE 模板有時確實令人興奮。我問開發人員為什麼要在非環回介面上使用 127/8 範圍 IP,但他們的答案是「好吧,我們不知道,其他人添加了它,現在它是遺留的」。絕對是垃圾。您可以安全地從相關介面中刪除此 127.0.0.2“kludge”,它不會執行任何操作: ip ad del 127.0.0.2/32 dev venet0。但問題是,每次 VE 重新啟動時,都會重新加入這些愚蠢的廢話。如果您正在控制硬體節點,您可以將範本設定為不會觸發包含網路配置的「kludge」的內容。如果您無法控制它,解決方法是將此“ip ad del”放入類似的內容中/etc/rc.local,然後重新啟動 ipsec。

答案2

https://lists.openswan.org/pipermail/users/2010-June/018901.html

當 Openswan 啟動時,看起來它會選擇 br0 介面上的第一個 IP 位址來宣布它所選擇的內容。萬一它在某一天選擇了錯誤,我該如何明確地告訴它哪個介面上的哪個 IP 位址?或者這只是一個開業公告,我不需要擔心?

它綁定到啟動時配置的所有位址。如果稍後新增位址,目前需要告訴 pluto 使用「ipsec whack --listen」重新綁定這些位址

ipsec_setup:多個ip位址,在br0上使用10.0.0.10

該消息有點令人困惑。回應時它將「使用」收到封包的 IP 位址,並且在使用「%defaultroute」啟動時使用「最近」的 IP 位址。如果在 conn.conf 中指定,則會使用 ip 或已解析的主機名稱 ip。

您的 OpenVZ 介面可能不會自動綁定,因為它們在啟動時不存在。

此外,您可以透過編輯檔案、使用或指令/etc/ipsec.conf新增正確的 XX.XX.XX.XX 或介面 venet0:X 規範,強制它只偵聽一個 IP 。listen=XX.XX.XX.XXinterface=venet0:Xconfig setup

http://linux.die.net/man/5/ipsec.conf

相關內容