У меня есть коробка OpenVZ с включенным IPSec.
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]
Я установил openswan и xl2tpd для L2TP VPN. Когда я перезапускаю 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 на x.x.x.x, y.y.y.y и z.z.z.z.
# 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
ifconfig -a
Отрывок, мы можем предположить, что вы используете ipsec внутри OpenVZ VE, а не на аппаратном узле (HN). На всякий случай - ты проверял их рекомендация для такой установки?ip ad del 127.0.0.2/32 dev venet0
. Проблема, однако, в том, что при каждом перезапуске VE эта глупая хрень будет добавляться заново. Если вы управляете аппаратным узлом, вы можете установить шаблон для чего-то, что не будет запускать их «кладж», содержащий сетевую конфигурацию. Если вы его не контролируете, то можно обойтись и поместить этот «ip ad del» во что-то вроде /etc/rc.local
а затем перезапустите ipsec.Из https://lists.openswan.org/pipermail/users/2010-June/018901.html
Когда Openswan запускается, похоже, что он выбирает первый IP-адрес на интерфейсе br0, чтобы объявить, что он выбирает. В случае, если однажды он ошибается, как мне окончательно сказать, какой IP-адрес на каком интерфейсе? Или это всего лишь вступительное объявление, и мне не о чем беспокоиться?
Он привязывается ко всем адресам, настроенным при запуске. Если адрес будет добавлен позже, в настоящее время необходимо указать pluto для повторной привязки их с помощью "ipsec whack --listen"
ipsec_setup: несколько IP-адресов, используя 10.0.0.10 на br0
Сообщение немного сбивает с толку. Он будет «использовать» IP-адрес, с которого он получил пакет, при ответе, и он будет использовать «ближайший» IP-адрес при инициировании при использовании «% defaultroute». Если будет использовать ip или разрешенное имя хоста ip, если оно указано в conn.
Возможно, ваши интерфейсы OpenVZ не привязываются автоматически, поскольку они не существуют при запуске.
Кроме того, вы можете заставить его прослушивать только один IP-адрес, отредактировав свой /etc/ipsec.conf
файл, добавив правильный XX.XX.XX.XX или спецификацию интерфейса venet0: X, используя listen=XX.XX.XX.XX
или interface=venet0:X
директивы config setup
раздел.