babut
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору на тостере(выступает клиентом) выставляем: domain name: <насрать. это имя профиля> nailed-up- хз за что это отвечает. включено. remote gateway: <ip или fqdn(которое отресолвится в ip), которые должны быть доступны с тостера изначально- т.е. опёнок должен иметь белый адрес> dead peer detection и checking interval- видимо какие-то телодвижения(пинг? можно отловить, но лень), проверяющие туннель на предмет проходимости. включим. local gateway id: <это идентификатор клиента. пишем что угодно, но после, на другом конце, это будет сверятся опёнком с соответствующей записью в его конфиге> remote gateway id: <это идентификатор сервера. тоже пишем что угодно, главное- чтобы совпадало с соответствующей записью в конфиге опёнка> psk key: <типа пароль. должен совпадать в конфигах. чувствуется избыточность> ike protocol: <можно выставить как первую версию, так и вторую- это повлияет только на демон, который будем подымать на опёнке- iked или isakmpd> ike encryption: <ставим aes-128- по двум причинам: дефолтом в win10(дабы не переделывать) и аппаратно ускоряется процами(если проц поддерживает)> ike integrity: <sha-1 -дефолтный хэш в win10> diffie-hellman: <ставим 2(размер модуля 1024)- дефолт в win10> во второй фазе: mode: <tunnel- если желание связать две сети. и вообще универсально> encryption, integrity и diffie-hellman выставляем такими же как и в первой фазе- для совместимости с виндою. local subnet ip: <сеть за тостером> remote subnet ip: <сеть за опёнком> на тостере эти две сети не путаем местами, а на опёнке на это насрать(скорее всего и тут насрать, если делать с консоли). перемещаемся на опёнок. за ikev1 отвечает isakmpd, за ikev2 отвечает iked. но не оба сразу, так как сидят на одних портах. сперва в /etc/sysctl.conf прописываем две строчки "net.inet.esp.enable=1" и "net.inet.ah.enable=1". затем включаем(на автозагрузку) либо iked ("rcctl set iked status on"), либо isakmpd ("rcctl set isakmpd status on" и "rcctl set isakmpd flags -K" ("-K"- чтобы не читал isakmpd.conf. можно писать и в его родном конфиге isakmpd.conf, но там настолько ублюдочный синтаксис, что просто абзац. много лет назад других вариантов не было, а сейчас есть приблуда ipsecctl, упрощающая жизнь). для isakmpd ещё нужно подать команду "rcctl set ipsec status on" -это заставить тулзу ipsecctl(через "ipsecctl -f /etc/ipsec.conf") грузануть при старте опёнка правила в isakmpd.). для iked дефолтным конфигом выступает /etc/iked.conf (если создали, то выставляем права 600 root:wheel): ikev2 passive esp from <сеть за опёнком> to <сеть за тостером> \ # можно менять местами- ему насрать. можно конструкцию "from <> to <>" писать много раз, с разными значениями local any peer any \ # для iked эта строчка важна, иначе он возмёт сеть с локального фейса- в первом случае, и склероз- во втором. iked, в отличии от isakmpd, этим параметрам уделяет внимание ikesa enc aes-128 auth hmac-sha1 group modp1024 childsa enc aes-128 auth hmac-sha1 group modp1024 \ # эту строчку пропускать нельзя, так как дефолтом iked юзает другую комбинацию srcid <идентификатор опёнка, который прописали на тостере> dstid <идентификатор тостера, прописанный на тостере> psk <пароль, который прописали на тостере> для ipsecctl(которая рулит isakmpd) дефолтным конфигом выступает /etc/ipsec.conf(дефолтом права 600 root:wheel): ike passive esp from <сеть за опёнком> to <сеть за тостером> \ # тут тоже всё толерантно, но множественные "from <> to <>" реализуются иначе- через "from {<foo>, <bar>, ..} to {<baz>, <tutu> ..}", что разворачивается во все возможные комбинации main auth hmac-sha1 enc aes-128 group modp1024 quick auth hmac-sha1 enc aes-128 group modp1024 \ # isakmpd дефолтом юзает тоже совершенно другое srcid <идентификатор опёнка> dstid <идентификатор тостера> psk <пароль> ребутим опёнок(ну или меняем параметры через sysctl, стартуем нужный демон(грузим(для isakmpd+ipsecctl) в него правила)). что нужно понимать тут: указывая сети, указываете те адреса, которые автоматом(после поднятия туннеля) завернутся в туннель(не забудьте разрешить фаером движение по enc0 (на нём уже расшифрованные пакеты), либо скипнуть его полностью. также открыть 500 и 4500 порты udp)- т.е., если указать "any", то в туннель завернётся вообще всё. есть какой-то бажок в обработке "any"- лучше использовать "0.0.0.0/0" для ipv4. не забываем, что всё разворачивается в ipv4 и ipv6(iked развернёт точно). если вроде всё сделали, "ipsecctl -sa" показывает установившиеся потоки, а пинга не идёт, то не забываем в винде разрешить icmp, так как дефолтом он там не разрешён. iked дефолтом("-6" -отменить) банит потоки в ipv6. как быть, если кругом динамика(у меня так)? нужно воспользоваться каким-нибудь ddns сервисом, коих тысячи(я юзаяю nsupdate.info, поскольку он бесплатный и поддерживает ipv6- не так уж часто встречается такая комбинация). на тостер, в принципе, насрать, а вот опёнку, как серверу, это нужно |