====== Настройка 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