venet0에서 127.0.0.2를 사용하는 OpenVZ 다중 IP 주소의 IPSec

venet0에서 127.0.0.2를 사용하는 OpenVZ 다중 IP 주소의 IPSec

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. 실제 IP를 xxxx, yyyy 및 zzzz로 대체했습니다.

# 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내용에 따르면 하드웨어 노드(HN)가 아닌 OpenVZ VE 내에서 ipsec을 실행하고 있다고 가정할 수 있습니다. 확실히 하기 위해 — 그 사람들의 것을 확인해 보셨나요?추천그런 설정 때문에?
  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.localipsec을 다시 시작하는 것입니다.

답변2

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

Openswan이 시작되면 br0 인터페이스에서 첫 번째 IP 주소를 선택하여 무엇을 선택할지 알리는 것처럼 보입니다. 요즘 잘못된 것을 선택하는 경우 어떤 인터페이스에서 어떤 IP 주소를 확실히 알 수 있습니까? 아니면 이것은 단지 시작 발표일 뿐이므로 걱정할 필요가 없습니까?

시작 시 구성된 모든 주소에 바인딩됩니다. 나중에 주소가 추가되면 현재 pluto는 "ipsec whack --listen"을 사용하여 이를 다시 바인딩하도록 지시해야 합니다.

ipsec_setup: br0에서 10.0.0.10을 사용하는 여러 IP 주소

메시지가 약간 혼란스럽습니다. 응답할 때 패킷을 받은 IP 주소를 "사용"하고 "%defaultroute"를 사용할 때 시작할 때 "가장 가까운" IP 주소를 사용합니다. 연결에 지정된 경우 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

관련 정보