В офисе порядка 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 pptpd[1456]: CTRL: PTY read or GRE write failed (pty,gre)=(7,6) 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" шлюз не отваливается?
|