Сам я не новичек в UNIX системах, но вот на днях столкнулся с непонятно проблемой.
Имею FreeBSD 10.0 х64 в качестве рабочего шлюза.
Инет через PPPoE. Поднят MPD5 для VPN клиентов по PPTP. И стоит SQUID+SAMS
Все исправно работает. Инет у всех на работе есть, фильтрация, клиенты по VPN подключаются и т.д.
Но есть один сотрудник, который живет в Польше. И он не может подключиться по VPN.
Наверное провайдеры там блокируют GRE.
Было решение поднять на шлюзе OpenVPN.
Установил, настроил. Коннект происходит. Но вот LAN в офисе не доступен.
Пингуется только 10.8.0.1
Что только не делал: и различные правила в IPFW и варианты директив push, route в конфиге openvpn.conf
Но вот что самое главное.
У меня на ноуте развернута на виртуалке LAN сеть для теста.
Там у меня 3 гостевых системы. Первая FreeBSD, вторая CentOS, третья Винда
Так вот.
FreeBSD стоит 10.1 х86
Настроен IPFW + Kernel NAT. И установлен и настроен OpenVPN.
Так вот. C моей хостовой машины (ноут) коннект идет на виртуальную FreeBSD и далее я могу подключиться по RDP к Винде.
А вот на рабочую FreeBSD коннект есть, но до локалки не достучаться.
Вроде все настроки идентичны, как на виртуалке, так и на рабочей машине.
И теперь я не пойму что за фигня такая.
Единственное осталось грешить на конфликт интерфейсов tun. Но это вроде смахивает на фантастику.
часть IPFW
Код: Выделить всё
$cmd add allow all from any to any via tun0
$cmd add allow all from any to ${extip} 1194 in via ${extif} keep-state
$cmd add allow all from 10.8.0.0/24 to ${LN} out via ${intif} keep-state
Код: Выделить всё
dev tun
server 10.8.0.0 255.255.255.0
keepalive 10 120
comp-lzo
persist-key
persist-tun
Спасибо.