Содержание
Настройка 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
Создаем подключение, вбиваем логин\пароль, входим в настройки
вписываем IP или адрес сервера к которому будем подключаться
Выставляем галочки как показано на рисунках
на вкладке сеть входим в свойства протокола TCP\IP, входим в дополнительные настройки
убираем галку с шлюза по умолчанию
Настройка Брандмауэр
чтоб у вас все работало в вашем брандмауэре должен быть открыть порт 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







