VPN с помощью PPTP с авторизацией в домене windows.
Проверено | |||||
---|---|---|---|---|---|
PPTPD | v1.3.4 | CentOS | release 5.5 (Final) | 2010.12.02 | Cyber |
Устанавливаем pptpd:
yum update rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm yum install pptpd
Правим smb.conf:
[global] workgroup = YOURDOMAIN realm = YOURDOMAIN.COM server string = your-server-name load printers = no log file = /var/log/samba/%m.log security = ads socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 local master = no domain master = no preferred master = no wins server = your-wins-server-ip-address dns proxy = no winbind uid = 10000-20000 winbind gid = 10000-20000 winbind use default domain = yes interfaces = your-server-ip lo
Настраиваем фаерволл:
Настраиваем Kerberos /etc/krb5.conf:
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = YOURDOMAIN.COM dns_lookup_realm = false dns_lookup_kdc = false [realms] YOURDOMAIN.COM = { kdc = your-domain-controller-ip-address:88 admin_server = your-domain-controller-ip-address:749 default_domain = YOURDOMAIN.COM } [domain_realm] .YOURDOMAIN.COM = YOURDOMAIN.COM YOURDOMAIN.COM = YOURDOMAIN.COM [kdc] profile = /var/kerberos/krb5kdc/kdc.conf [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false }
Синхронизируем время с контроллером домена:
yum install ntp ntpdate your-domain-controller.domain.realm
Подключаем машину в домен:
kinit adminlogin@DOMAIN.REALM
net rpc join -U somedomainadmin
Правим /etc/pptpd.conf:
option /etc/ppp/options.pptpd ppp /usr/local/sbin/pppd localip your-tunnel-local-ip-address remoteip your-tunnel-remote-ip-address-range
Правим /etc/ppp/options.pptpd:
lock debug nologfd name pptpdev nobsdcomp proxyarp refuse-pap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns your-first-domain-name-server-ip-address ms-dns your-second-domain-name-server-ip-address plugin winbind.so ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1"
Включаем IP forwarding в /etc/sysctl.conf:
net.ipv4.ip_forward = 1
Прим: изменения произойдут только после перезагрузки. Для применения немедленно пишем в консоли:
echo 1 > /proc/sys/net/ipv4/ip_forward
Стартуем winbind:
chkconfig winbind on && service winbind start
Стартуем pptpd:
chkconfig pptpd on && service pptpd start
Проверка принадлежности к группе в AD
Правим smb.conf:
winbind separator = +
Правим последнюю строчку в /etc/ppp/options.pptpd:
ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --require-membership-of="DOMAIN+access_group"
..где DOMAIN - имя вашего домена, access_group - группа в Active Directory пользователи которой будут проходить авторизацию.
Перезапускаем сервисы:
service winbind reload service pptpd restart
См. также
Создание vpn туннеля - Общая информация по созданию VPN с перечислением нескольких способов.
Cсылки
http://poptop.sourceforge.net/dox/replacing-windows-pptp-with-linux-howto.phtml - Основано на этой статье.