Поставь вардрайверов на колени Andrey Matveev Хакер, номер #082, стр. 082-106-4 [snip] rdr pass on $ext_if inet proto tcp from any to any port 4661 ->gt; $user_ip rdr pass on $ext_if inet proto tcp from any to any port 4662 ->gt; $user_ip rdr pass on $ext_if inet proto udp from any to any port 4665 ->gt; $user_ip rdr pass on $ext_if inet proto udp from any to any port 4672 ->gt; $user_ip [snip] [isakmpd: вернисаж IPSec-туннелей] Как мы помним, главные изъяны WEP были обнаружены в процедурах аутентификации и шифрования. Кроме того, оказалось, что этот механизм достаточен только для малых сетей с умеренным трафиком. Следовательно, даже если бы он стал единственным стандартом де-факто, который предоставляет гарантии безопасности беспроводных сетей, его нельзя было бы применять для корпоративных решений. Isakmpd(8) обеспечивает работу по протоколу обмена секретными ключами (ISAKMP), справляется с любыми нагрузками без снижения производительности, а также позволяет создавать невероятное количество IPSec-туннелей, используя при этом различные алгоритмы шифрования (например, 3des, idea, cast, blowfish, aes для атрибута esp_enc_alg протокола ESP) и методы аутентификации: на основе парольной фразы (мы будем рассматривать именно этот метод, в случае внушительного числа wlan-клиентов свой выбор лучше остановить на X.509 auth), серверных ключей, Keynote и X.509 сертификатов. Демон просто потрясает своими возможностями, так что будет не просто найти такую задачу построения VPN, с которой он не мог бы справиться. Для удобства главный конфигурационный файл сервера обмена ключей разбит на секции и содержит директивы с присвоенными значениями. Далее прокомментирую ключевые моменты isakmpd.conf(5): # vi /etc/isakmpd/isakmpd.conf /* Секция общего назначения: количество повторов, продолжительность таймаутов, IP-адрес прослушиваемого интерфейса */ [General] Retransmits = 5 Exchange-max-time = 120 Listen-on = 192.168.2.1 /* Перечисляем фазы соединений */ [Phase 1] Default = local-peers [Phase 2] Passive-connections = authenticated-peers /* Подтверждаем отсутствие псевдонимов и задаем парольную фразу */ [local-peers] Phase = 1 Local-address = 192.168.2.1 Authentication = mypassword Configuration = isakmp-main-mode /* Создаем список IPSec-соединений */ [authenticated-peers] Phase = 2 ISAKMP-peer = local-peers Local-ID = local-network Remote-ID = remote-network Configuration = isakmp-quick-mode /* Задаем маршруты для инкапсулированных соединений */ [local-network] ID-type = IPV4_ADDR_SUBNET Network = 192.168.2.0 Netmask = 255.255.255.0 [remote-network] ID-type = IPV4_ADDR_SUBNET Network = 192.168.2.0 Netmask = 255.255.255.0 /* В главном режиме указываем представление потоков, специальный тип обмена пакетами, и с помощью чего будем криптовать данные */ [isakmp-main-mode] DOI = IPSEC EXCHANGE_TYPE = ID_PROT Transforms = 3DES-SHA /* В быстром режиме указываем протокол, шифр и устойчивую к коллизиям хэш-функцию */ [isakmp-quick-mode] DOI = IPSEC EXCHANGE_TYPE = QUICK_MODE Suites = QM-ESP-3DES-SHA-PFS-SUITE Теперь необходимо создать isakmpd.policy(5), содержащий политику для всех IPSec-соединений: # vi /etc/isakmpd/isakmpd.policy |