Вводная.
Есть в разных местах пользователи, подключенные к Интернету.
Задача.
Пользователям нужно анонимно и безопасно работать в Интернете не показывая свой IP-адрес.
Хочу настроить свой анонимный прокси сервер.
Сервер имеет одну сетевую плату, которая смотрит в Интернет.
1. Устанавливаю ubuntu-10.04-server-i386 и настраиваю сетевую плату согласно провайдера.
2. Обновляю
Код:
$sudo -s -H
#apt-get update
#apt-get dist-upgrade
Reboot
3. Устанавливаю VPN сервер
Код:
$sudo -s -H
#apt-get install pptpd
4. Настраиваю VPN сервер
файл /etc/ppp/pptpd-options
Код:
name pptpd
refuse-pap
refuse-chap
require-mschap
require-mschap-v2
require-mppe-128
ms-dns 192.168.100.1
proxyarp
nodefaultroute
lock
nobsdcomp
файл /etc/pptpd.conf
Код:
option /etc/ppp/pptpd-options
logwtmp
localip 192.168.100.1
remoteip 192.168.0.2-254
файл /etc/ppp/chap-secrets
Код:
01 * 111 *
02 * 222 *
03 * 333 *
5. Разрешаю пропуск трафика
Добавил строку в файл /etc/rc.local
sysctl -w net.ipv4.ip_forward=1
reboot
6. Установливаю Прокс сервер.
Код:
$sudo -s -H
#apt-get install squid3
7. Настраиваю iptables
Код:
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.100.1:3128
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
8. Настраиваю squid3
файл /etc/squid3/squid.conf
http_port 3128 transparent
acl users src 192.168.100.2-192.168.100.254
http_access allow users
http_access deny all
В результате:
Пользователь подключается к VPN серверу и получает, например,
IP-адрес 192.168.100.2
Маска подсети 255.255.255.255
Основной шлюз 192.168.100.2 !!! Такой же как IP-адрес, а не 192.168.100.1
DNS-серверы 192.168.100.1
Ну и Интернет не работает, я так понимаю из-за Основного шлюза.
Если
- убрать ms-dns 192.168.100.1 /etc/ppp/pptpd-options
- убрать transparent в файле /etc/squid3/squid.conf
- у клиентов снять птичку «Использовать основной шлюз в удаленной сети» в свойствах VPN подключения закладка Сеть – Свойства TCP/IP – Дополнительно
- прописать у клиентов в браузере прокси 192.168.100.1
все работает.
Но хотелось бы, чтоб подключился пользователь к VPN-серверу - работает прокси, отключился – работает через своего провайдера.