Коллеги,помогите с настройкой. Надо соединить IPSec'ом site-2-site две сети для доступа к партнёру. Причём по их правилам должны использоваться только белые IP. Условно говоря, с нашей стороны надо поставить ещё один шлюз, за которым NAT'ом будут сидеть сотрудники, а главный шлюз, подключенный к провайдеру, должен делать IPsec. Примерно так:
192.168.x.x -> [шлюз1, NAT в белый A.A.A.A] -> [шлюз2, IPSec, IP = X.X.X.X] -> сеть провайдера
Хочется сэкономить на лишнем шлюзе и сделать примерно так:
192.168.x.x -> [шлюз2, NAT в белый A.A.A.A, а затем его внутрь IPSec] -> сеть провайдера
Шлюз 2 = FreeBSD 9.1, racoon, NAT делается с помощью IPFW.
IPSec поднялся, для проверки выполняю на шлюзе 'ssh -b A.A.A.A ...', т.е. инициирую соединение с нужного белого IP. Это работает.
Но при попытки подключения из серой сети, после прохождения через NAT соединение уходит не в IPSec, а напрямую в сеть провайдера.
sysctl net.inet.ip.fw.one_pass = 0, хотя это похоже не влияет.Поиски по словам IPSec / NAT находят только про NAT Traversal, что совсем не о том.
> Поиски по словам IPSec / NAT находят только про NAT Traversal, что
> совсем не о том.Отсюда http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ip... что-то не пошло?
> Отсюда http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ip... что-то
> не пошло?Отсюда не пошло использование gif-интерфейса и ручное изменение маршрутизации. Во многих местах упоминалось, что это лишнее. В настоящий момент этот же шлюз успешно работает с другим ipsec без gif и маршрутизации (netstat -rn ничего про IP-адреса туннеля не сообщает). Разница между этим работающим ipsec и нужным сейчас только в том, что в первом случае используются серые адреса из внутренней сети, т.е. не требуется привлекать NAT.
Более того, уже работает и первый вариант из моего вопроса, с двумя шлюзами. Т.е. "главный шлюз" туннель успешно поднял.
Что мне непонятно, так почему выполнение 'ssh -b A.A.A.A' на шлюзе уходит в ipsec, а тот-же A.A.A.A, но полученный kernel NAT'ом, идёт напрямую провайдеру, а не в туннель.
IPSec нужен в транспортном или туннельном режиме? Я так понял - гибридном? :) Это в курсе? http://www.rusnoc.ru/index.php?option=com_content&view=artic...>> Отсюда http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ip... что-то
>> не пошло?
> Отсюда не пошло использование gif-интерфейса и ручное изменение маршрутизации. Во многих
> местах упоминалось, что это лишнее.Что-то вроде http://lj.rossia.org/users/isatys/14041.html
> В настоящий момент этот же шлюз
> успешно работает с другим ipsec без gif и маршрутизации (netstat -rn
> ничего про IP-адреса туннеля не сообщает). Разница между этим работающим ipsec
> и нужным сейчас только в том, что в первом случае используются
> серые адреса из внутренней сети, т.е. не требуется привлекать NAT.
> Более того, уже работает и первый вариант из моего вопроса, с двумя
> шлюзами. Т.е. "главный шлюз" туннель успешно поднял.
> Что мне непонятно, так почему выполнение 'ssh -b A.A.A.A' на шлюзе уходит
> в ipsec, а тот-же A.A.A.A, но полученный kernel NAT'ом, идёт напрямую
> провайдеру, а не в туннель.М.б. http://nuclight.livejournal.com/124348.html?nojs=1 Точнее http://nuclight.livejournal.com/125453.html
А на ipsec.conf (с перебитыми белыми адресами) можно посмотреть?
Всё в туннельном.
Конфиг такой (все A.A.A.0/24 - мои белые IP, .117 и .115 находятся на главном шлюзе, а .120 - на дополнительном, через который сейчас работает обсуждаемый коллектив. Остальными буквами обозначены белые адреса партнёров):flush;
spdflush;## IPSec 1
spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec esp/tunnel/A.A.A.117-B.B.B.B/unique;
spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/B.B.B.B-A.A.A.117/unique;spdadd 192.168.1.0/24 192.168.3.0/24 any -P out ipsec esp/tunnel/A.A.A.117-B.B.B.B/unique;
spdadd 192.168.3.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/B.B.B.B-A.A.A.117/unique;## IPSec 2
spdadd A.A.A.120/32 C.C.C.C/32 any -P out ipsec esp/tunnel/A.A.A.117-D.D.D.D/unique;
spdadd C.C.C.C/32 A.A.A.120/32 any -P in ipsec esp/tunnel/D.D.D.D-A.A.A.117/unique;spdadd A.A.A.115/32 C.C.C.C/32 any -P out ipsec esp/tunnel/A.A.A.117-D.D.D.D/unique;
spdadd C.C.C.C/32 A.A.A.115/32 any -P in ipsec esp/tunnel/D.D.D.D-A.A.A.117/unique;
Спасибо за ссылки, буду изучать.
> Всё в туннельном.
> Конфиг такой (все A.A.A.0/24 - мои белые IP, .117 и .115 находятся
> на главном шлюзе, а .120 - на дополнительном, через который сейчас
> работает обсуждаемый коллектив. Остальными буквами обозначены белые адреса партнёров):
> flush;
> spdflush;
> ## IPSec 1
> spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec esp/tunnel/A.A.A.117-B.B.B.B/unique;
> spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/B.B.B.B-A.A.A.117/unique;Вот прямо сейчас не на чем посмотреть, а тоннель типа "host-to-net" не поднялся? Что-то вроде "road warrior"?
> .. тоннель типа "host-to-net" не поднялся? Что-то вроде "road warrior"?Доступ в свою сеть для сотрудников, а также объединение нескольких своих удалённых сетей я делаю через OpenVPN - для меня он на порядок нагляднее и проще, чем IPSec.
>> .. тоннель типа "host-to-net" не поднялся? Что-то вроде "road warrior"?
> Доступ в свою сеть для сотрудников, а также объединение нескольких своих удалённых
> сетей я делаю через OpenVPN - для меня он на порядок
> нагляднее и проще, чем IPSec.А (организация-NAT-IPSec"RdWrr")-->(IPSec-сеть партнёра) не то, что нужно?