У меня есть настоящее трудное время, настраивая OpenSWAN на моем сервере Linux (Ubuntu 12.04) для соединения с IPSec Сервера ISA 2004 года VPN. Существует, по-видимому, что-то не так в конфигурации, которая препятствует туннелю от работы. Похоже, что некоторые мои пакеты становятся отброшенными где-нибудь? Я не уверен действительно.
Другая сторона заявляет, что нет ничего неправильно во входе в систему их стороны. У меня нет брандмауэра на моей стороне. Вот незаконная часть в /var/log/auth.log
(более длительная версия ниже).
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: STATE_MAIN_I3: sent MI3, expecting MR3
Jan 29 17:28:12 P-INV-SD07 pluto[5821]: "myconn" #1: discarding duplicate packet; already STATE_MAIN_I3
Jan 29 17:28:34 pluto[5821]: last message repeated 3 times
Jan 29 17:28:42 P-INV-SD07 pluto[5821]: packet from <hispublicip>:500: Informational Exchange is for an unknown (expired?) SA with MSGID:0x8341092b
Jan 29 17:28:42 P-INV-SD07 pluto[5821]: "myconn" #1: discarding duplicate packet; already STATE_MAIN_I3
Затем подробная информация об установке в случае, если любой может помочь :) Заранее спасибо!
Я настроил соединение с главным образом параметрами по умолчанию на нашей стороне (я действительно пробовал набор других вещей, но ничто, кажется, не работает немного лучше, чем это):
conn myconn
authby=secret
type=tunnel
left=<hispublic>
leftsubnet=<hislanip>/32
right=<mypublic>
rightsubnet=<mylanip>/32
auto=start
Вывод от ipsec auto status
:
000 "myconn": <mylanip>/32===<mypublicip><<mypublicip>>[+S=C]...<hispublicip> <<hispublicip>>[+S=C]===<hislanip>/32; prospective erouted; eroute owner: #0
000 "myconn": myip=unset; hisip=unset;
000 "myconn": ike_life: 7200s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0
000 "myconn": policy: PSK+ENCRYPT+TUNNEL+PFS+UP+IKEv2ALLOW+SAREFTRACK+lKOD+rKOD; prio: 32,32; interface: eth0;
000 "myconn": newest ISAKMP SA: #0; newest IPsec SA: #0;
000
000 #2: "myconn":500 STATE_MAIN_I3 (sent MI3, expecting MR3); EVENT_RETRANSMIT in 18s; nodpd; idle; import:admin initiate
000 #2: pending Phase 2 for "myconn" replacing #0
Выборка от /var/log/auth.log
:
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: loading secrets from "/etc/ipsec.secrets"
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: initiating Main Mode
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: ignoring Vendor ID payload [MS NT5 ISAKMPOAKLEY 00000004]
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: ignoring Vendor ID payload [FRAGMENTATION]
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] method set to=106
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: enabling possible NAT-traversal with method draft-ietf-ipsec-nat-t-ike-05
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: STATE_MAIN_I2: sent MI2, expecting MR2
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: NAT-Traversal: Result using draft-ietf-ipsec-nat-t-ike-02/03: no NAT detected
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: STATE_MAIN_I3: sent MI3, expecting MR3
Jan 29 17:28:12 P-INV-SD07 pluto[5821]: "myconn" #1: discarding duplicate packet; already STATE_MAIN_I3
Jan 29 17:28:34 pluto[5821]: last message repeated 3 times
Jan 29 17:28:42 P-INV-SD07 pluto[5821]: packet from <hispublicip>:500: Informational Exchange is for an unknown (expired?) SA with MSGID:0x8341092b
Jan 29 17:28:42 P-INV-SD07 pluto[5821]: "myconn" #1: discarding duplicate packet; already STATE_MAIN_I3
Вот параметры конфигурации, используемые на Стороне сервера ISA:
Мне удалось получить анализатор пакетов, работающий на стороне OpenSWAN, и журнал Oakley включил на стороне ISA. Сниффинг в значительной степени, что Вы ожидали бы: 3-й пакет, отправленный от стороны OpenSWAN, отклоняется сервером ISA, кто продолжает отправлять его 2-й пакет, потому что он думает, что это не был ACK'd.
Ошибка на Oakley (ISA) журнал говорит:
Receive: (get) SA = 0x00108cf0 from 50.57.73.135.500
2-07: 14:44:25:250:44b24 ISAKMP Header: (V1.0), len = 68
2-07: 14:44:25:250:44b24 I-COOKIE 8802248fab719171
2-07: 14:44:25:250:44b24 R-COOKIE 296787dc0ec4227a
2-07: 14:44:25:250:44b24 exchange: Oakley Main Mode
2-07: 14:44:25:250:44b24 flags: 1 ( encrypted )
2-07: 14:44:25:250:44b24 next payload: ID
2-07: 14:44:25:250:44b24 message ID: 00000000
2-07: 14:44:25:250:44b24 invalid payload received
2-07: 14:44:25:250:44b24 Preshared key ID. Peer IP Address: <mypublicip>
2-07: 14:44:25:250:44b24 Source IP Address <hispublicip> Source IP Address Mask 255.255.255.255 Destination IP Address <mypublicip> Destination IP Address Mask 255.255.255.255 Protocol 0 Source Port 0 Destination Port 0 IKE Local Addr <hispublicip> IKE Peer Addr <mypublicip> IKE Source Port 500 IKE Destination Port 500 Peer Private Addr
2-07: 14:44:25:250:44b24 GetPacket failed 3613
Так в основном invalid payload received
и затем GetPacket failed 3613
. Этот последний код ошибки не уступает много на информации о поиске с помощью Google, включая людей, говорящих, что они получают это все время, и все работает, тем не менее.
Я сдался, мы настраиваем локальный сервер, но я обновляю это для дальнейшего использования в случае, если у любого есть подсказка для пользы Интернета.
Я столкнулся с этой ситуацией в последние дни.
Это произошло из-за двух проблем.
Для брандмауэра оказалось, что порты 500 и 4500 заблокированы.
Запустив ipsec verify
, вы можете увидеть, заблокировано ли 500 или 4500.
В /etc/sysctl.conf
,
измените net.ipv4.ip_forward
to 1
append
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.lo.send_redirects = 0
net.ipv4.conf.em1.accept_redirects = 0
net.ipv4.conf.em1.send_redirects = 0
em1
- это сетевой интерфейс, возможно, ваш eth0
или eth1
Наконец, в моем В этом случае предварительный ключ в /etc/ipsec.d/ipsec.secrets
был ошибочно заключен в двойные кавычки "
, что привело к несоответствию предварительного общего ключа.
Надеюсь, это кому-то поможет. .