====== Настройка VPN ====== ===== Настройка сервера ===== Установить демона ВПН sudo apt-get install pptpd Создаем заменяем файлы: sudo nano /etc/pptpd.conf speed 230400 noipparam # любой несуществующий серый адрес будет выставлятся в качастве шлюза тем кто подключился localip 192.168.15.1 # тоже самое будет выставляться тем кто подключился если не прописан ИП для пользователя в chap-secrets remoteip 192.168.15.10-20 #listen 192.168.0.3 option /etc/ppp/pptpd-options logfile /var/log/pptpd1.log # debug sudo nano /etc/ppp/pptpd-options name pptpd mtu 1490 mru 1490 require-chap refuse-pap refuse-eap refuse-mschap refuse-mschap-v2 proxyarp nodefaultroute lock nobsdcomp logfile /var/log/pptpd.log # debug lcp-echo-interval 0 lcp-echo-failure 0 sudo nano /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client server secret IP addresses # логин сервер_всегда_pptpd пароль IP_который_будет_выдаваться login pptpd pass 192.168.7.153 # незанятый ИП внутри сети Выставляем права на файл с паролями sudo chmod 600 /etc/ppp/chap-secrets Разрешаем видеть машины кроме сервера до перезагрузки echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward после sudo nano /etc/sysctl.conf net.ipv4.ip_forward = 1 Перезапускаем демон pptpd: sudo /etc/init.d/pptpd restart ===== Настройка клиента Linux ===== для начала мы должны знать следующие вещи ЛогинПодключения (attid) ПарольПодключения (password) СерверПодключения (mywork.homeip.net) ИмяПодключения (mywork) УдаленаяСеть (192.168.0.0) УдаленаяМаска (255.255.255.0) пароли хранятся тут : sudo nano /etc/ppp/chap-secrets добавляем строчку ЛогинПодключения ИмяПодключения ПарольПодключения * создаем файл подключения sudo nano /etc/ppp/peers/ИмяПодключения пишем туда следующее remotename ИмяПодключения linkname ИмяПодключения ipparam ИмяПодключения pty "pptp --loglevel 1 СерверПодключения --nolaunchpppd" name ЛогинПодключения nomppe noauth # остается вывод в консоль nodetach # перезванивет при потере persist lock bsdcomp 9,15 deflate 9,15 так как подключение у нас не дефолтное то прописываем маршруты sudo nano /etc/ppp/ip-up.d/99route chmod x+ 99route chown user:user 99route #!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin # если наше соединение if [ "$PPP_IPPARAM" = "ИмяПодключения" ]; then route add -net УдаленаяСеть netmask УдаленаяМаска gw $PPP_REMOTE fi Подключаемся sudo pon ИмяПодключения Отключаемся sudo poff ИмяПодключения ===== Настройка клиента Windows ===== Создаем подключение, вбиваем логин\пароль, входим в настройки {{:ac:vpn:vpn1.png}} вписываем IP или адрес сервера к которому будем подключаться {{:ac:vpn:vpn2.png}} Выставляем галочки как показано на рисунках {{:ac:vpn:vpn3.png}} {{:ac:vpn:vpn4.png}} {{:ac:vpn:vpn5.png}} на вкладке сеть входим в свойства протокола TCP\IP, входим в дополнительные настройки {{:ac:vpn:vpn6.png}} убираем галку с шлюза по умолчанию {{:ac:vpn:vpn7.png}} ===== Настройка Брандмауэр ===== чтоб у вас все работало в вашем брандмауэре должен быть открыть порт PPTP(1723) и GRE (IP-протокол 47) под iptables будет примерно так /sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT /sbin/iptables -A FORWARD -p 47 -j ACCEPT вторая строка может не понадобится также в некоторых дистрибутивах возможно понадобится подгружать доп модули modprobe ip_gre modprobe ip_nat_pptp modprobe ip_conntrack_pptp ===== Настройка Cisco ===== если у нас все закрыто циской то вышесказанное никто не отменял для полнеценной работы (в том числе отчетов) надо настроить а. портмаппинг пробрассываем 80 443 1723 (и видео если хотим) permit tcp host 1.2.3.4 host 5.6.7.8 eq 80 б. акцесс лист закрывающий портмаппинг что-то вроде permit tcp host 1.2.3.4 host 5.6.7.8 eq 22 80 с. ip inspect (мы же не ходтим делать неправильный акцесс лист в котором в конце стоит permit ip any any ip inspect name Belko http ip inspect name Belko https ip inspect name Belko ftp ip inspect name Belko dns ip inspect name Belko smtp ip inspect name Belko pop3 ip inspect name Belko ldap ip inspect name Belko tcp router-traffic ip inspect name Belko udp router-traffic ip inspect name Belko icmp router-traffic вешаем инспект на интерфейс на выход ip inspect Belko out аут это направление ip access-list ext test permit tcp host 1.2.3.4 host 5.6.7.8 eq 80 inspect ip inspect name Belko http ip inspect name Belko ftp ip inspect name Belko dns и конечный конфиг интерфейса interface FastEthernet4.1 ip nat outside ip inspect Belko out ip access-group test ===== пример проброски в лине и в циске ===== в этом примере у нас есть 3 порта и предположим 4 Ипа видео сервер на 10.10.10.10 в линукс надо выполнить следущее /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,1 --dport 80 -j DNAT --to 10.10.10.10:80; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,1 --dport 4550 -j DNAT --to 10.10.10.10:4550; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,1 --dport 5550 -j DNAT --to 10.10.10.10:5550; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,2 --dport 80 -j DNAT --to 10.10.10.10:80; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,2 --dport 4550 -j DNAT --to 10.10.10.10:4550; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,2 --dport 5550 -j DNAT --to 10.10.10.10:5550; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,3 --dport 80 -j DNAT --to 10.10.10.10:80; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,3 --dport 4550 -j DNAT --to 10.10.10.10:4550; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,3 --dport 5550 -j DNAT --to 10.10.10.10:5550; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,4 --dport 80 -j DNAT --to 10.10.10.10:80; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,4 --dport 4550 -j DNAT --to 10.10.10.10:4550; /sbin/iptables -t nat -A PREROUTING -p tcp -s 1,1,1,4 --dport 5550 -j DNAT --to 10.10.10.10:5550; циско проброс портов ip nat inside source static tcp 10.10.10.10 http interface FastEthernet4.1 http ip nat inside source static tcp 10.10.10.10 4550 interface FastEthernet4.1 4550 ip nat inside source static tcp 10.10.10.10 5550 interface FastEthernet4.1 5550 ip access-list ext video permit tcp host 1.1.1.1 host 10.10.10.10 eq 80 4550 5550 permit tcp host 1.1.1.2 host 10.10.10.10 eq 80 4550 5550 permit tcp host 1.1.1.3 host 10.10.10.10 eq 80 4550 5550 permit tcp host 1.1.1.4 host 10.10.10.10 eq 80 4550 5550 inspect ip inspect name Belko http ip inspect name Belko 4550 ip inspect name Belko 5550 interface FastEthernet4.1 ip nat outside ip inspect Belko out ip access-group video