В сетке стоял терминальный сервер, на который народ ходил не только из локальной сети, но и из мира. Винда – это потенциальная дыра, посему решил как то обойти эту проблему.
Как один из вариантов выбрал доступ в сеть по ВПН. Так, как у меня уже вертелись ВПН между офисами, то проблемы особо не было. Но вот что делать с теми пользователями, которые не сидели в офисах?Для них решил тоже сделать ВПН на основе mpd.
Итак, приступим.
/usr/ports/>make search name=mpd4Port: mpd4-4.0b4Path: /usr/ports/net/mpd4Info: Multi-link PPP daemon based on netgraph(4) [development version]Maint: glebius@freebsd.orgB-deps: expat-2.0.0_1 libpdel-0.5.3_1R-deps: expat-2.0.0_1 libpdel-0.5.3_1WWW: http://www.sourceforge.net/projects/mpd
/usr/ports/>cd /usr/ports/net/mpd4 && make install clean
Когда у нас все нормально установится, смотрим что у нас есть
/usr/ports/>cd /usr/local/etc/mpd4//usr/local/etc/mpd4/>lltotal 58-r–r–r– 1 root wheel 10999 Oct 20 13:50 mpd.conf.sample-r–r–r– 1 root wheel 3778 Oct 20 13:50 mpd.links.sample-r–r–r– 1 root wheel 39204 Oct 20 13:50 mpd.script.sample-r–r–r– 1 root wheel 834 Oct 20 13:50 mpd.secret.sample/usr/local/etc/mpd4/>
И начинаем менять конфигурационные файлы "Smile” В самом начале меняем mpd.conf
/usr/local/etc/mpd4/>cat mpd.confstartup:default:load pptp0load pptp1
pptp0:new -i ng00 pptp0 pptp0set ipcp ranges 172.20.20.1/30 172.20.20.2/30load pptp_standart
pptp1:new -i ng01 pptp1 pptp1set ipcp ranges 172.20.20.5/30 172.20.20.6/30load pptp_standart
pptp_standart:set iface disable on-demandset iface idle 1800set bundle disable multilinkset link yes acfcomp protocompset link no pap chapset link enable chapset iface enable proxy-arpset bundle enable compressionset ccp yes mppcset pptp self ВАШ_ИП_АДРЕСС_ОТ_ПРОВАЙДЕРАset ccp yes mpp-e40set ccp yes mpp-e56set ccp yes mpp-e128set ccp yes mpp-statelessset link keep-alive 10 60set ipcp yes vjcompset ipcp ranges 172.20.20.0/30set ipcp dns ВАШ_ИП_ДНС_СЕРВЕРАset pptp enable incomingset pptp disable originateset iface mtu 1500/usr/local/etc/mpd4/>
set pptp self ВАШ_ИП_АДРЕСС_ОТ_ПРОВАЙДЕРА и set ipcp dns ВАШ_ИП_ДНС_СЕРВЕРА не забываем поменять параметры "Smile”
Я указал 172.20.20.0/30 сетку, и уже на роутере сделал необходимые изменения для пропуска из одной сети в другую "Smile” Для примеру указал только 2 интерфейса: pptp0 и pptp1. Вы можете указать сколько угодно. У меня максимально было 35 – и работало "Smile”
Идем дальше. Меняем mpd.links. Пишем следующее:
pptp0:set link type pptppptp1:set link type pptp
И в заключение, меняем mpd.secret
user user *user2 user2 *
Можно прикрутить так, чтоб пользователи получали ИП постоянные, но мне такой задачи не ставилось, да и не зачем мне было.
Вот собственно и все.
/usr/local/etc/mpd4/>cat /etc/rc.conf | grep mpdmpd_enable=”YES”/usr/local/etc/mpd4/>/usr/local/etc/rc.d/mpd4 startStarting mpd4./usr/local/etc/mpd4/>sockstat | grep mpdroot mpd4 53191 3 dgram -> /var/run/logprivroot mpd4 53191 16 tcp4 213.25.15.74:1723 *:*/usr/local/etc/mpd4/>tail -f /var/log/mpd.logNov 9 16:19:48 proxy mpd: PPTP: Incoming control connection from 192.168.0.4 2048 to 213.25.15.74 1723Nov 9 16:19:48 proxy mpd: pptp0: attached to connection with 192.168.0.4 2048Nov 9 16:19:48 proxy mpd: [pptp0] Accepting PPTP connectionNov 9 16:19:48 proxy mpd: [pptp0] opening link "pptp0″…Nov 9 16:19:48 proxy mpd: [pptp0] link: OPEN eventNov 9 16:19:48 proxy mpd: [pptp0] LCP: Open eventNov 9 16:19:48 proxy mpd: [pptp0] LCP: state change Initial –> StartingNov 9 16:19:48 proxy mpd: [pptp0] LCP: LayerStartNov 9 16:19:48 proxy mpd: [pptp0] PPTP: attaching to peer’s outgoing callNov 9 16:19:48 proxy mpd: [pptp0] link: UP eventNov 9 16:19:48 proxy mpd: [pptp0] link: origination is remoteNov 9 16:19:48 proxy mpd: [pptp0] LCP: Up eventNov 9 16:19:48 proxy mpd: [pptp0] LCP: state change Starting –> Req-SentNov 9 16:19:48 proxy mpd: [pptp0] LCP: SendConfigReq #5Nov 9 16:19:48 proxy mpd: ACFCOMPNov 9 16:19:48 proxy mpd: PROTOCOMPNov 9 16:19:48 proxy mpd: MRU 1500Nov 9 16:19:48 proxy mpd: MAGICNUM 84daf0a4Nov 9 16:19:48 proxy mpd: AUTHPROTO CHAP MSOFTv2Nov 9 16:19:48 proxy mpd: [pptp0] LCP: rec’d Configure Request #0 (Req-Sent)Nov 9 16:19:48 proxy mpd: MRU 1400Nov 9 16:19:48 proxy mpd: MAGICNUM 1ac768d0Nov 9 16:19:48 proxy mpd: PROTOCOMPNov 9 16:19:48 proxy mpd: ACFCOMPNov 9 16:19:48 proxy mpd: CALLBACK 6Nov 9 16:19:48 proxy mpd: [pptp0] LCP: SendConfigRej #0Nov 9 16:19:48 proxy mpd: CALLBACK 6Nov 9 16:19:48 proxy mpd: [pptp0] LCP: rec’d Configure Request #1 (Req-Sent)Nov 9 16:19:48 proxy mpd: MRU 1400Nov 9 16:19:48 proxy mpd: MAGICNUM 1ac768d0Nov 9 16:19:48 proxy mpd: PROTOCOMPNov 9 16:19:48 proxy mpd: ACFCOMPNov 9 16:19:48 proxy mpd: [pptp0] LCP: SendConfigAck #1Nov 9 16:19:48 proxy mpd: MRU 1400Nov 9 16:19:48 proxy mpd: MAGICNUM 1ac768d0Nov 9 16:19:48 proxy mpd: PROTOCOMPNov 9 16:19:48 proxy mpd: ACFCOMPNov 9 16:19:48 proxy mpd: [pptp0] LCP: state change Req-Sent –> Ack-SentNov 9 16:19:50 proxy mpd: [pptp0] LCP: SendConfigReq #6Nov 9 16:19:50 proxy mpd: ACFCOMPNov 9 16:19:50 proxy mpd: PROTOCOMPNov 9 16:19:50 proxy mpd: MRU 1500Nov 9 16:19:50 proxy mpd: MAGICNUM 84daf0a4Nov 9 16:19:50 proxy mpd: AUTHPROTO CHAP MSOFTv2Nov 9 16:19:50 proxy mpd: [pptp0] LCP: rec’d Configure Ack #6 (Ack-Sent)Nov 9 16:19:50 proxy mpd: ACFCOMPNov 9 16:19:50 proxy mpd: PROTOCOMPNov 9 16:19:50 proxy mpd: MRU 1500Nov 9 16:19:50 proxy mpd: MAGICNUM 84daf0a4Nov 9 16:19:50 proxy mpd: AUTHPROTO CHAP MSOFTv2Nov 9 16:19:50 proxy mpd: [pptp0] LCP: state change Ack-Sent –> OpenedNov 9 16:19:50 proxy mpd: [pptp0] LCP: auth: peer wants nothing, I want CHAPNov 9 16:19:50 proxy mpd: [pptp0] CHAP: sending CHALLENGE len:17Nov 9 16:19:50 proxy mpd: [pptp0] LCP: LayerUpNov 9 16:19:50 proxy mpd: [pptp0] LCP: rec’d Ident #2 (Opened)Nov 9 16:19:50 proxy mpd: [pptp0] LCP: rec’d Ident #3 (Opened)Nov 9 16:19:50 proxy mpd: [pptp0] CHAP: rec’d RESPONSE #1Nov 9 16:19:50 proxy mpd: Name: "user”Nov 9 16:19:50 proxy mpd: [pptp0] AUTH: Auth-Thread startedNov 9 16:19:50 proxy mpd: [pptp0] AUTH: Trying INTERNALNov 9 16:19:50 proxy mpd: [pptp0] AUTH: INTERNAL returned undefinedNov 9 16:19:50 proxy mpd: [pptp0] AUTH: Auth-Thread finished normallyNov 9 16:19:50 proxy mpd: [pptp0] CHAP: ChapInputFinish: status undefinedNov 9 16:19:50 proxy mpd: Response is validNov 9 16:19:50 proxy mpd: Reply message: S=408F3223DECCAF7F8CA863E53E47509D17588ABENov 9 16:19:50 proxy mpd: [pptp0] CHAP: sending SUCCESS len:42Nov 9 16:19:50 proxy mpd: [pptp0] LCP: authorization successfulNov 9 16:19:50 proxy mpd: [pptp0] Bundle up: 1 link, total bandwidth 64000 bpsNov 9 16:19:50 proxy mpd: [pptp0] IPCP: Open eventNov 9 16:19:50 proxy mpd: [pptp0] IPCP: state change Initial –> StartingNov 9 16:19:50 proxy mpd: [pptp0] IPCP: LayerStartNov 9 16:19:50 proxy mpd: [pptp0] CCP: Open eventNov 9 16:19:50 proxy mpd: [pptp0] CCP: state change Initial –> StartingNov 9 16:19:50 proxy mpd: [pptp0] CCP: LayerStartNov 9 16:19:50 proxy mpd: [pptp0] IPCP: Up eventNov 9 16:19:50 proxy mpd: [pptp0] IPCP: state change Starting –> Req-SentNov 9 16:19:50 proxy mpd: [pptp0] IPCP: SendConfigReq #4Nov 9 16:19:50 proxy mpd: IPADDR 172.20.20.1Nov 9 16:19:50 proxy mpd: COMPPROTO VJCOMP, 16 comp. channels, no comp-cidNov 9 16:19:50 proxy mpd: [pptp0] CCP: Up eventNov 9 16:19:50 proxy mpd: [pptp0] CCP: state change Starting –> Req-SentNov 9 16:19:50 proxy mpd: [pptp0] CCP: SendConfigReq #4Nov 9 16:19:50 proxy mpd: MPPCNov 9 16:19:50 proxy mpd: 0×010000e0:MPPE(40, 56, 128 bits), statelessNov 9 16:19:50 proxy mpd: [pptp0] CCP: rec’d Configure Request #4 (Req-Sent)Nov 9 16:19:50 proxy mpd: MPPCNov 9 16:19:50 proxy mpd: 0×010000e1:MPPC, MPPE(40, 56, 128 bits), statelessNov 9 16:19:50 proxy mpd: [pptp0] CCP: SendConfigNak #4Nov 9 16:19:50 proxy mpd: MPPCNov 9 16:19:50 proxy mpd: 0×01000040:MPPE(128 bits), statelessNov 9 16:19:50 proxy mpd: [pptp0] IPCP: rec’d Configure Request #5 (Req-Sent)Nov 9 16:19:50 proxy mpd: IPADDR 0.0.0.0Nov 9 16:19:50 proxy mpd: NAKing with 172.20.20.2Nov 9 16:19:50 proxy mpd: PRIDNS 0.0.0.0Nov 9 16:19:50 proxy mpd: NAKing with 192.168.4.254Nov 9 16:19:50 proxy mpd: PRINBNS 0.0.0.0Nov 9 16:19:50 proxy mpd: SECDNS 0.0.0.0Nov 9 16:19:50 proxy mpd: SECNBNS 0.0.0.0Nov 9 16:19:50 proxy mpd: [pptp0] IPCP: SendConfigRej #5Nov 9 16:19:50 proxy mpd: PRINBNS 0.0.0.0Nov 9 16:19:50 proxy mpd: SECDNS 0.0.0.0Nov 9 16:19:50 proxy mpd: SECNBNS 0.0.0.0Nov 9 16:19:50 proxy mpd: [pptp0] IPCP: rec’d Configure Reject #4 (Req-Sent)Nov 9 16:19:50 proxy mpd: COMPPROTO VJCOMP, 16 comp. channels, no comp-cidNov 9 16:19:50 proxy mpd: [pptp0] IPCP: SendConfigReq #5Nov 9 16:19:50 proxy mpd: IPADDR 172.20.20.1Nov 9 16:19:50 proxy mpd: [pptp0] CCP: rec’d Configure Nak #4 (Req-Sent)Nov 9 16:19:50 proxy mpd: MPPCNov 9 16:19:50 proxy mpd: 0×01000040:MPPE(128 bits), statelessNov 9 16:19:50 proxy mpd: [pptp0] CCP: SendConfigReq #5Nov 9 16:19:50 proxy mpd: MPPCNov 9 16:19:50 proxy mpd: 0×01000040:MPPE(128 bits), statelessNov 9 16:19:50 proxy mpd: [pptp0] CCP: rec’d Configure Request #6 (Req-Sent)Nov 9 16:19:50 proxy mpd: MPPCNov 9 16:19:50 proxy mpd: 0×01000040:MPPE(128 bits), statelessNov 9 16:19:50 proxy mpd: [pptp0] CCP: SendConfigAck #6Nov 9 16:19:50 proxy mpd: MPPCNov 9 16:19:50 proxy mpd: 0×01000040:MPPE(128 bits), statelessNov 9 16:19:50 proxy mpd: [pptp0] CCP: state change Req-Sent –> Ack-SentNov 9 16:19:50 proxy mpd: [pptp0] IPCP: rec’d Configure Request #7 (Req-Sent)Nov 9 16:19:50 proxy mpd: IPADDR 0.0.0.0Nov 9 16:19:50 proxy mpd: NAKing with 172.20.20.2Nov 9 16:19:50 proxy mpd: PRIDNS 0.0.0.0Nov 9 16:19:50 proxy mpd: NAKing with 192.168.4.254Nov 9 16:19:50 proxy mpd: [pptp0] IPCP: SendConfigNak #7Nov 9 16:19:50 proxy mpd: IPADDR 172.20.20.2Nov 9 16:19:50 proxy mpd: PRIDNS 192.168.4.254Nov 9 16:19:50 proxy mpd: [pptp0] IPCP: rec’d Configure Ack #5 (Req-Sent)Nov 9 16:19:50 proxy mpd: IPADDR 172.20.20.1Nov 9 16:19:50 proxy mpd: [pptp0] IPCP: state change Req-Sent –> Ack-RcvdNov 9 16:19:50 proxy mpd: [pptp0] CCP: rec’d Configure Ack #5 (Ack-Sent)Nov 9 16:19:50 proxy mpd: MPPCNov 9 16:19:50 proxy mpd: 0×01000040:MPPE(128 bits), statelessNov 9 16:19:50 proxy mpd: [pptp0] CCP: state change Ack-Sent –> OpenedNov 9 16:19:50 proxy mpd: [pptp0] CCP: LayerUpNov 9 16:19:50 proxy mpd: Compress using: mppc (MPPE(128 bits), stateless)Nov 9 16:19:50 proxy mpd: Decompress using: mppc (MPPE(128 bits), stateless)Nov 9 16:19:50 proxy mpd: [pptp0] IPCP: rec’d Configure Request #8 (Ack-Rcvd)Nov 9 16:19:50 proxy mpd: IPADDR 172.20.20.2Nov 9 16:19:50 proxy mpd: 172.20.20.2 is OKNov 9 16:19:50 proxy mpd: PRIDNS 192.168.4.254Nov 9 16:19:50 proxy mpd: [pptp0] IPCP: SendConfigAck #8Nov 9 16:19:50 proxy mpd: IPADDR 172.20.20.2Nov 9 16:19:50 proxy mpd: PRIDNS 192.168.4.254Nov 9 16:19:50 proxy mpd: [pptp0] IPCP: state change Ack-Rcvd –> OpenedNov 9 16:19:50 proxy mpd: [pptp0] IPCP: LayerUpNov 9 16:19:50 proxy mpd: 172.20.20.1 -> 172.20.20.2Nov 9 16:19:50 proxy mpd: [pptp0] IFACE: Up eventNov 9 16:19:50 proxy mpd: [pptp0] no interface to proxy arp on for 172.20.20.2Nov 9 16:19:53 proxy mpd: [pptp0] LCP: rec’d Terminate Request #9 (Opened)Nov 9 16:19:53 proxy mpd: [pptp0] LCP: state change Opened –> StoppingNov 9 16:19:53 proxy mpd: [pptp0] AUTH: Accounting data for user user: 5 seconds, 1168 octets in, 296 octets outNov 9 16:19:53 proxy mpd: [pptp0] Bundle up: 0 links, total bandwidth 9600 bpsNov 9 16:19:53 proxy mpd: [pptp0] IPCP: Close eventNov 9 16:19:53 proxy mpd: [pptp0] IPCP: state change Opened –> ClosingNov 9 16:19:53 proxy mpd: [pptp0] IPCP: SendTerminateReq #6Nov 9 16:19:53 proxy mpd: [pptp0] IPCP: LayerDownNov 9 16:19:53 proxy mpd: [pptp0] IFACE: Down eventNov 9 16:19:53 proxy mpd: [pptp0] CCP: Close eventNov 9 16:19:53 proxy mpd: [pptp0] CCP: state change Opened –> ClosingNov 9 16:19:53 proxy mpd: [pptp0] CCP: SendTerminateReq #6Nov 9 16:19:53 proxy mpd: [pptp0] CCP: LayerDownNov 9 16:19:53 proxy mpd: [pptp0] IPCP: Down eventNov 9 16:19:53 proxy mpd: [pptp0] IPCP: LayerFinishNov 9 16:19:53 proxy mpd: [pptp0] No NCPs left. Closing links…Nov 9 16:19:53 proxy mpd: [pptp0] closing link "pptp0″…Nov 9 16:19:53 proxy mpd: [pptp0] IPCP: state change Closing –> InitialNov 9 16:19:53 proxy mpd: [pptp0] CCP: Down eventNov 9 16:19:53 proxy mpd: [pptp0] CCP: LayerFinishNov 9 16:19:53 proxy mpd: [pptp0] CCP: state change Closing –> InitialNov 9 16:19:53 proxy mpd: [pptp0] AUTH: CleanupNov 9 16:19:53 proxy mpd: [pptp0] LCP: SendTerminateAck #7Nov 9 16:19:53 proxy mpd: [pptp0] LCP: LayerDownNov 9 16:19:53 proxy mpd: [pptp0] link: CLOSE eventNov 9 16:19:53 proxy mpd: [pptp0] LCP: Close eventNov 9 16:19:53 proxy mpd: [pptp0] LCP: state change Stopping –> ClosingNov 9 16:19:53 proxy mpd: [pptp0] rec’d proto IP during terminate phaseNov 9 16:19:54 proxy mpd: last message repeated 2 timesNov 9 16:19:54 proxy mpd: [pptp0] LCP: rec’d Terminate Request #10 (Closing)Nov 9 16:19:54 proxy mpd: [pptp0] LCP: SendTerminateAck #8Nov 9 16:19:55 proxy mpd: [pptp0] rec’d proto IP during terminate phaseNov 9 16:19:55 proxy mpd: [pptp0] LCP: state change Closing –> ClosedNov 9 16:19:55 proxy mpd: [pptp0] LCP: LayerFinishNov 9 16:19:55 proxy mpd: pptp0-0: clearing callNov 9 16:19:55 proxy mpd: pptp0-0: killing channelNov 9 16:19:55 proxy mpd: [pptp0] PPTP call terminatedNov 9 16:19:55 proxy mpd: [pptp0] link: DOWN eventNov 9 16:19:55 proxy mpd: [pptp0] LCP: Down eventNov 9 16:19:55 proxy mpd: [pptp0] LCP: state change Closed –> InitialNov 9 16:19:55 proxy mpd: pptp0: closing connection with 192.168.0.4 2048Nov 9 16:19:55 proxy mpd: pptp0: killing connection with 192.168.0.4 2048
Вот собственно и все. Коннект пошел. Были правда сначала проблемы, решил открытием на фаере gre и порта 1723. Шифрование проходит
Nov 9 16:19:50 proxy mpd: Name: "user”Nov 9 16:19:50 proxy mpd: [pptp0] AUTH: Auth-Thread startedNov 9 16:19:50 proxy mpd: [pptp0] AUTH: Trying INTERNALNov 9 16:19:50 proxy mpd: [pptp0] AUTH: INTERNAL returned undefinedNov 9 16:19:50 proxy mpd: [pptp0] AUTH: Auth-Thread finished normallyNov 9 16:19:50 proxy mpd: [pptp0] CHAP: ChapInputFinish: status undefined