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
- 지정하지 않았지만 발췌한
ifconfig -a
내용에 따르면 하드웨어 노드(HN)가 아닌 OpenVZ VE 내에서 ipsec을 실행하고 있다고 가정할 수 있습니다. 확실히 하기 위해 — 그 사람들의 것을 확인해 보셨나요?추천그런 설정 때문에? - 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: 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.XX
interface=venet0:X
config setup