Обсуждение статьи тематического каталога: Настройка IPSEC туннеля между Cisco и FreeBSD (freebsd cisco tunnel ipsec)Ссылка на текст статьи: https://www.opennet.ru/base/cisco/cisco_freebsd_ipsec.txt.html
>Сборка ядра осуществляется следующим образом:
> cd /usr/src
> make buildkernel KERNCONF=name
> make buildworld KERNCONF=nameВообще-то согласно handbook сборка и установка ядра осуществляется командами
make buildkernel KERNCONF=name
make installkernel KERNCONF=name
1) Не ясно зачем включать IPSEC_DEBUG - чтобы тормозило ?2) Порта racoon не существует - есть порт /usr/ports/security/racoon2
Я вместо него использую /usr/ports/security/ipsec-tools
1. Производительности в моем случае хватает. Использовалось для DEBUG, как и видно из названия.
2. Исправил, вкралась ошибка. racoon впредь переименован в ipsec-tools. Я именно его и собирал.
я тоже в шоке от таких писателей накопируют и мануалов в инете и вот мол вам работайте
вот интересно что скажет автор? неужели он нашел такой пакет?:)))))))
>я тоже в шоке от таких писателей накопируют и мануалов в инете
>и вот мол вам работайте
>вот интересно что скажет автор? неужели он нашел такой пакет?:)))))))1. Писать надо без орфографических и смысловых ошибок.
2. Ошибка поправлена. Знающий чел мелкие недочеты может и сам исправить.
3. Покажи хоть одну подобную статью с приведением ссылки и автора.
4. Не нравится - не ешь. Здесь читать никто никого не заставляет. А задают вопросы - по существу.
5. Еще вопросы есть?
а разве в 7 реализацию ipsec не поменяли?
Поменяли:
The KAME IPsec implementation has been removed. In its place, FAST_IPSEC is now the only IPsec implementation supported by the FreeBSD kernel. The IPSEC kernel configuration option, which formerly enabled KAME IPsec, now enables FAST_IPSEC. FAST_IPSEC now supports both IPv4 and IPv6, uses fine-grained kernel locking, and supports hardware cryptographic acceleration.
Но, это не мешает нормальной работе.
спасибо за статью, несмотря на мелкие недочеты - все наглядно и по существу.
И на Циске рекомендуется пользоваться все-таки crypto keychain'ами. Just in case, если на интерфейсе будет более одного криптотуннеля. Ну и Dynamic Map неплохо бы освоить, так, на случай динамического выделения адресов второму концу туннеля.
Dynamics Map - это больше для транспортного режима (Cisco VPN Client).
Вот освоить шифрование p2p туннеля (ipip или gre) - это нужно. Например, для OSPF (если канала 2).
Баги исправил.
А маршрутизацию наверно нужно прописать на cisco и FreeBSD ???????
На Cisco надо, если по-умолчанию "интересный трафик" на интерфейс с Crypto Map не идет.
На FreeBSD маршрутизацию прописывать не нужно.
Интересная статья, надо будет попробовать.
От автора ждём:
1. Установку тоннелей на сертификатах
2. Поднятие динамической маршрутизации внутри IPSec тоннеля.
А мне кажется в ядре надо помимо
options IPSEC
включить опцию
device crypto
У вас же FreeBSD7, у меня без нее не заработало...
Принято. Упустил эту настройку из конфига.
А по моему написано хорошо, самое главное что просто, доступно. Мне скоро понадобится.
Очень бы хотелось статьи про установку тоннелей на сертификатах
Спасибо вам. У меня все заработало. Именно так нужно настраивать. С CISCO не нужны никакие лишние туннели.У меня даже заработало с AES-128--SHA1--DH5 (phase 1) и AES-128--SHA1--DH2 для второй фазы.
Хочу предостеречь. Не меняйте exchange_mode main; на aggressive, т.к. ЦИСКА соединяется именно по этому моду на Фазе 1 (если не указать иного).
Словом, спасибо.
Подскажите, а нужно ли предварительно поднимать туннель до циски через gif? Настраивал по этой статье, запускаю racoon и не вижу вообще никакого трафика. В логах, всего три строчки. Сейчас под рукой нет, но заканчивается он примерно так: читаю конфигурационный файл.
А если FreeBSD за nat-ом. Кто то настраивал ?Cisco NAT-T понимает хорошо - цеплял и Cisco-Cisco
Cisco-Linksys и даже Cisco-Draytek
а вот с FreeBSD проблемы
А разве там при сборке демона NAT-T нету?
Может глупость скажу, а разве не нужно виртуальный интерфейс создавать gif0?
а с таким глюком никто не сталкивался:
тунель linux-cisco2811 настроен и работает.
Но есть такой глюк: из сети за linux подключаюсь
к серверу за cisco по ssh подключение проходит нормально, но как только пытаюсь запустить mc получаю черный экран т.е. как бы все зависает. то же самое происходит и с командой man. команда ps на одном серваке работает а на другом половину выводит и все.
Куда копать то? ошибок нигде нет
MTU проверь.
1. При сборке ядра не забудьте поставить
options IPSEC_ESP
2. При настройке фаервола не забудьте открыть
udp 500 порт
и протокол esp
3.В /etc/rc.config не забудьте указать
racoon_flags="-l /var/log/racoon.log"
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
racoon_enable="YES"gif_interfaces="gif0"
gifconfig_gif0="Ip_компьютера IP_Cisco"
ifconfig_gif0="inet IP_внутрений_компьютера IP_внутрений_Cisco netmask 255.255.255.255"static_routes="vpn"
route_vpn="Адрес внутренней сети CISCO -interface gif0"
Доброе время суток кто может помочь вроде все настроил на FreBSD но почему то не пингуется по туннелю у меня 2сервера FreBSD и роутер FreBSD и клиент в общем 4 машины.
Если кто то знает можете описать подробно ....буду рад на помощь.
отличный вариант для данной темы
apt-cdrom add
1)настроить имена и статику
Сетевая связанность
2)указываем маршруты по умолчанию ip route левый и правый (на ISP /etc/sysctl.conf откамитить форвард = 1 )
3)access-list имя Разрешаю/запрещаю ip внутренняя обратная маска на лев и прав
3)настройка нат на левом и правом + внутренние интерфейсы ip nat insaide внеш outside (acl подвязать к нату )
Ip nat inside source list номер int какой интерфейс overload на лев и прав
4)создать 2 туннеля int tunnel 1
Ip add
Tunnel mode gre ip
Источник ip
Дистанция ip
Создать eigrp
Network ip обр.маск
5)настройка ipsec для тунелей
1.Настройка Isakmp
Pre-shard ключ для аутентификации
crypto isakmp nat keepalive 5
crypto ipsec transform-set TS esp-3des esp-md5-hmac
mode tunnelcrypto ipsec profile VTI
set transform-set TSET6) заходим на тунель
Тунель мод ипсек ипv4
# Протектион # профиль VTI
7. создать acces-list extended название . для управления трафика
RTR-L ACL
ip access-list extended Lnew
permit tcp any any established
permit udp host 4.4.4.100 eq 53 any
permit udp host 5.5.5.1 eq 123 any
permit tcp any host 4.4.4.100 eq 80
permit tcp any host 4.4.4.100 eq 443
permit tcp any host 4.4.4.100 eq 2222
permit udp host 5.5.5.100 host 4.4.4.100 eq 500
permit esp any any
permit icmp any any
int gi 1
ip access-group Lnew inRTR-R ACL
ip access-list extended Rnew
permit tcp any any established
permit tcp any host 5.5.5.100 eq 80
permit tcp any host 5.5.5.100 eq 443
permit tcp any host 5.5.5.100 eq 2244
permit udp host 4.4.4.100 host 5.5.5.100 eq 500
permit esp any any
permit icmp any any
int gi 1
ip access-group Rnew in
8)настройка ssh регионов
RTR-L SSH
ip nat inside source static tcp 192.168.100.100 22 4.4.4.100 2222
RTR-R SSH
ip nat inside source static tcp 172.16.100.100 22 5.5.5.100 2244
SSH WEB-L
apt-cdrom add
apt install -y openssh-server ssh
systemctl start sshd
systemctl enable ssh
SSH WEB-R
apt-cdrom add
apt install -y openssh-server ssh
systemctl start sshd
systemctl enable ssh
Есть еще вариант циско + дебиан + винда вроде норм там правда еще доп протоколыint gi1/gi2
ip nat outside/inside
access-list 1 permit 192/172 0.0.0.255
ip nat inside source list 1 interface Gi1 overloadinterface Tunnel 1
ip address 172.16.1.1/2 255...
tunnel mode gre ip
tunnel source 4.4.4.100
tunnel destination 5.5.5.100router eigrp 6500
network 192/172 0.0.0.255
network 172.16.1.0 0.0.0.255crypto isakmp policy 1
encr aes
authentication pre-share
hash sha256
group 14
crypto isakmp key cisco address 5.100/4.100
crypto isakmp nat keepalive 5
crypto ipsec transform-set имя esp-aes 256 esp-sha256-hmac
mode tunnel
crypto ipsec profile VTI
set transform-set имя
interface Tunnel1
tunnel mode ipsec ipv4
tunnel protection ipsec profile VTI
—
ip access-list extended Lnew
permit tcp any any established
permit udp host 4.4.4.100 eq 53 any
permit udp host 5.5.5.1 eq 123 any
permit tcp any host 4.4.4.100 eq 80
permit tcp any host 4.4.4.100 eq 443
permit tcp any host 4.4.4.100 eq 2222
permit udp host 5.5.5.100 host 4.4.4.100 eq 500
permit esp any any
permit icmp any any
int gi 1
ip access-group Lnew in
--—
ip access-list extended Rnew
permit tcp any any established
permit tcp any host 5.5.5.100 eq 80
permit tcp any host 5.5.5.100 eq 443
permit tcp any host 5.5.5.100 eq 2244
permit udp host 4.4.4.100 host 5.5.5.100 eq 500
permit esp any any
permit icmp any any
int gi 1
ip access-group Rnew in(L) ip nat inside source static tcp 192.168.100.100 22 4.4.4.100 2222
ip nat inside source static tcp/udp 192.168.100.200 53 4.4.4.100 53
(R) ip nat inside source static tcp 172.16.100.100 22 5.5.5.100 2244/etc/chrony/chrony.conf
(ISP) local stratum 4
allow 4.4.4.0/24
allow 3.3.3.0/24(webL-R) pool ntp.int.demo.wsr iburst
allow 192.168.100.0/24ip domain name int.demo.wsr
ip name-server 192.168.100.200
ntp server ntp.int.demo.wsr (ip)
raid
/root/.smbclient
username/password
/etc/fstab
//srv.int.demo.wsr/диск /opt/share cifs user,rw,_netdev,credentials=/root/.smbclient 0 0
mkdir /opt/share
mount -aapt install -y docker-ce
systemctl start docker
systemctl enable docker
mkdir /mnt/app
mount /dev/sr1 /mnt/app
docker load < /mnt/app/app.tar
docker images
docker run —name app -p 8080:80 -d appdocker ps
no ip http secure-server
reload
(L) ip nat inside source static tcp 192.168.100.100 80 4.4.4.100 80
ip nat inside source static tcp 192.168.100.100 443 4.4.4.100 443
(R) ip nat inside source static tcp 172.16.100.100 80 5.5.5.100 80
ip nat inside source static tcp 172.16.100.100 443 5.5.5.100 443
nginx
cd /opt/share
openssl pkcs12 -nodes -nocerts -in www.pfx -out www.key
openssl pkcs12 -nodes -nokeys -in www.pfx -out www.cer
-
cp /opt/share/www.key /etc/nginx/www.key
cp /opt/share/www.cer /etc/nginx/www.cer
nano /etc/nginx/snippets/snakeoil.conf
ssl_certificate /etc/nginx/www.cer;
ssl_certificate_key /etc/nginx/www.key;
/etc/nginx/sites-available/default
upstream backend {
server 192.168.100.100:8080 fail_timeout=25;
server 172.16.100.100:8080 fail_timeout=25;
}server {
listen 443 ssl default_server;
include snippers/snakeoil.conf;server_name www.demo.wsr;
location / {
proxy_pass http://backend ;
}
}
server {
listen 80 default_server;
server_name _;
return 301 https://www.demo.wsr;
}
(CLI) scp -P 2244 'root@5.5.5.100:/opt/share/ca.cer' C:\Users\user\Desktop\Install-WindowsFeature -Name AD-Certificate, ADCS-Web-Enrollment -IncludeManagementTools
Install-AdcsCertificationAuthority -CAType StandaloneRootCa -CACommonName "Demo.wsr" -force
Install-AdcsWebEnrollment -Confirm -force
New-SelfSignedCertificate -subject "localhost"
Get-ChildItem cert:\LocalMachine\My
Move-item Cert:\LocalMachine\My\rключ -destination Cert:\LocalMachine\Webhosting\
New-IISSiteBinding -Name 'Default Web Site' -BindingInformation "*:443:" -Protocol https -CertificateThumbPrint ключ
Start-WebSite -Name "Default Web Site"
Get-CACrlDistributionPoint | Remove-CACrlDistributionPoint -force
Get-CAAuthorityInformationAccess |Remove-CAAuthorityInformationAccess -force
Get-CAAuthorityInformationAccess
|Remove-CAAuthorityInformationAccess -force
Restart-Service CertSrc