Ru-Board.club
← Вернуться в раздел «UNIX»

» OpenVPN + IPFW Kernel NAT

Автор: VoxVeritas
Дата сообщения: 06.10.2015 23:42
[more] [more] Здравствуйте коллеги.
Сам я не новичек в UNIX системах, но вот на днях столкнулся с непонятно проблемой.
Имею FreeBSD 10.0 х64 в качестве рабочего шлюза в компании.
Инет через PPPoE. Поднят MPD5 для VPN клиентов по PPTP. И стоит SQUID
Все исправно работает. Инет у всех на работе есть, фильтрация, клиенты по 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 в офисе коннект есть, но до локалки не достучаться.

Вроде все настроки идентичны (ipfw, openvpn.conf), как на виртуалке, так и на рабочей машине.
И теперь я не пойму что за фигня такая.

Единственное осталось грешить на конфликт интерфейсов tun. Но это вроде смахивает на фантастику.

IPFW


Код:
#!/bin/sh
fwcmd="ipfw"
LanIf="re1"
LN="192.168.0.0/24"
LanIp="192.168.0.2"
WanIf="tun0"
WanIp="84.201.232.226"

${fwcmd} -f flush
${fwcmd} add 1 allow ip from any to any via lo0
${fwcmd} add 300 deny ip from any to 127.0.0.0/8
${fwcmd} add 301 deny ip from 127.0.0.0/8 to any
${fwcmd} add 319 allow all from any to me 5192 via tun0 setup limit src-addr 2
#${fwcmd} add 350 allow all from any to any via ${LanIf} keep-state
#${fwcmd} add 351 allow all from any to any via ${WanIf} keep-state
${fwcmd} add 400 allow icmp from any to any icmptypes 0,8,11
${fwcmd} add 411 allow all from 192.168.1.0/24 to any via re1
${fwcmd} add 412 allow all from any to 192.168.1.0/24 via re2 setup keep-state
${fwcmd} add 500 check-state
############################# DNS
${fwcmd} add 700 allow udp from any to ${WanIp} 53 in via ${WanIf}
${fwcmd} add 710 allow udp from ${WanIp} 53 to any out via ${WanIf}
${fwcmd} add 712 allow udp from any 53 to ${WanIp} in via ${WanIf}
${fwcmd} add 714 allow udp from ${WanIp} to any 53 out via ${WanIf}
############################## DNS

############################### VPN SERVER
${fwcmd} add 800 allow all from any to me 1723
${fwcmd} add 801 allow all from me 1723 to any
${fwcmd} add 802 allow gre from any to any

${fwcmd} add 820 allow all from any to any via tun9
${fwcmd} add 821 allow all from any to ${WanIp} 1194 in via ${WanIf} setup keep-state
${fwcmd} add 822 allow all from 10.8.0.0/24 to ${LN} out via ${LanIf} setup keep-state
############################ VPN SERVER
#${fwcmd} add 900 allow all from any to any via ${LanIf} keep-state
#${fwcmd} add 901 allow all from any to any via ${WanIf} keep-state
############################ SQUID
${fwcmd} add 950 allow tcp from me to any out via ${LanIf} keep-state uid squid
${fwcmd} add 951 fwd 127.0.0.1,3121 tcp from ${LN} to any 21,80,443 out via ${WanIf}
############################ NAT
${fwcmd} add 984 allow all from ${WanIp} to any out via ${WanIf} keep-state
${fwcmd} add 985 allow all from ${LN} to any in via ${LanIf}
${fwcmd} add 987 nat 1 all from ${LN} to any out via ${WanIf}
${fwcmd} add 989 nat 1 all from any to ${WanIp} in via ${WanIf}
${fwcmd} add 990 allow all from any to ${LN} out via ${LanIf}
${fwcmd} nat 1 config log if ${WanIf} deny_in reset same_ports unreg_only
############################# NAT
############################# NAT 2
#${fwcmd} add 1003 nat 2 all from 10.8.0.0/24 to any
#${fwcmd} add 1006 nat 2 all from any to ${WanIp}
#${fwcmd} nat 2 config log if ${WanIp}
############################# NAT 2
############################# NAT 3
#${fwcmd} add 1008 nat 2 all from 10.8.0.0/24 to any
#${fwcmd} add 1009 nat 2 all from any to 10.8.0.0/24
#${fwcmd} nat 2 config log if tun9
############################# NAT 3

${fwcmd} add 3000 allow all from any to any via ${LanIf}
${fwcmd} add 3100 allow all from ${LN} to any setup
#${fwcmd} add 3150 allow all from any to any via ${LanIf} keep-state
#${fwcmd} add 3151 allow all from any to any via ${WanIf} keep-state
${fwcmd} add 3200 allow tcp from any to any established
Автор: Belua
Дата сообщения: 09.10.2015 19:49
А можно глупый вопрос, а не может быть, что вас игнорируют уже клиенты внутри сети, например корпоративно настроен у все файрвол, по правилам которого все "не свои" просто отбрасываются?

Добавлено:
А можно глупый вопрос, а не может быть, что вас игнорируют уже клиенты внутри сети, например корпоративно настроен у все файрвол, по правилам которого все "не свои" просто отбрасываются?

Страницы: 1

Предыдущая тема: А зачем нужно цирковое посмешище - UNIX?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.