Страница 1 из 1

freebsd9.1 pf squid mpd5

Добавлено: 2014-03-24 14:42:23
vladimirxxx
В офисе порядка 100 компов стоит в качестве шлюза freebsd9.1 pf squid.
PF 80 порт заворачивает на Squid режим прозрачный нужен для мониторинга
трафика и кто куда ходит и сколько.
И тут понадобился удаленный доступ для нескольких сотрудников из двух разных
офисов естественно клиентскими машинами выступают ОС Windows 7.
Я решил поднят vpn прямо на шлюзе. Попытался установить poptop но в логах
появлялись ошибки при подключении с клиентских машин

Код: Выделить всё

ppp[1457]: Warning: Label remotenumber rejected -direct connection: Configuration label not found
pptpd[1456]: GRE: read(fd=7,buffer=8058d20,len=8196) from PTY failed: status = 0 error = No error
pbc01 pptpd[1456]: CTRL: PTY read or GRE write failed (pty,gre)=(7,6)
pbc01 ppp[1459]: Warning: Label remotenumber rejected -direct connection: Configuration label not found
А на клиентских машинах vpn не подключался с ошибкой 628.
Проверял правила в pf.conf протокол GRE разрешен и 1723 порт открыт.

/etc/pf.conf

Код: Выделить всё

tcp_services = "{ ntp, ssh, smtp, domain, http, https, 821, 1723, nfsd, rpcbind,3389}"
udp_services = "{ domain, ntp, rpcbind, 821, 1723, nfsd }"
# allow GRE
pass quick inet proto gre to any keep state
# allow TCP end UDP
pass quick inet proto udp to any port $udp_services keep state
pass quick inet proto tcp to any port $tcp_services keep state
в /etc/sysctl.conf
выставлено

Код: Выделить всё

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1
Решил забросить poptop и вспомнил о mdp5 который много раз настраивал и все работало.
Установил настроил mpd5 vpn на внешний интерфейс, который смотрит в интернет и все сразу подключилось.
и заработали vpn подключения.

Но тут я столкнулся с такой неожиданной проблемой:
При подключении с удаленного клиента Windows 7 по VPN PPTP на шлузе отваливается
проброс между интерфейсами т.е. net.inet.ip.forwarding становиться в ноль. Соответвенно шлюз
встает интернет не раздается. Опять включаю проброс портов руками
sysctl net.inet.ip.forwarding=1 или /etc/rc.d/sysctl restart все опять работает
vnp интерфейсы ng0 не сбрасываются, клиенты работают, шлюз тоже и все в норме.
Решил я закоментировать проброс в sysctl.conf и выставить шлюз в rc.conf
gateway_enable="YES". И вот теперь при подключении vpn клиента на шлюз, шлюз
перестал отваливаться, параметр inet.ip.forwarding=1 остается включенным.

Так вот у меня такие вопросы на которые однозначно ответов в интернете я не нашел но очень хочу знать.
Поэтому решил спросить у профессионалов.
1. В чем разница если проброс делаешь в rc.conf gateway_enable="YES" и ipv6_gateway_enable="YES" от
прописания в /etc/sysctl.conf net.inet.ip.forwarding=1 и net.inet6.ip6.forwarding=1?
2. Можно ли или нужно или наоборот нельзя прописывать эти параметры и там и там?
3. И почему при прописании проброса пакетов с одного интерфейса на другой
в sysctl.conf отваливаться шлюз между интерфейсами при подключении vpn клиента, а
если в rc.conf gateway_enable="YES" шлюз не отваливается?

Re: freebsd9.1 pf squid mpd5

Добавлено: 2014-04-02 9:41:26
skeletor
1) Ничем. Вот код из /etc/rc.d/routing:

Код: Выделить всё

        if checkyesno gateway_enable; then
                ropts_init inet
                echo -n ' gateway=YES'
                ${SYSCTL} net.inet.ip.forwarding=1 > /dev/null
        else
                ${SYSCTL} net.inet.ip.forwarding=0 > /dev/null
        fi
2) Можно, но лучше просто использовать gateway_enable="YES"
3) Первый раз о таком слышу. Думаю, проблема в ваших настройках VPN'a