Redirect gateway def1 windows

Не работает OpenVPN c » push «redirect-gateway def1»»

Комрады, помощи прошу по настройки данного чуда. Сервер развёрнут у меня на Hyper-V дома,ОС Centos 7. Подключаюсь с Windows 7.

Конфиг сервера:
cd /etc/openvpn
mode server
tls-server
port 1194
proto udp
dev tun
log /var/log/openvpn.log
status /var/log/openvpn-status.log
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
ifconfig-pool-persist ipp.txt

server 10.8.0.0 255.255.255.0
client-to-client

#push «redirect-gateway def1 bypass-dhcp»
push «route 10.8.0.1 255.255.255.255»
push «route 10.8.0.0 255.255.255.0»
push «redirect-gateway»

push «dhcp-option DNS 77.88.8.8»
push «dhcp-option DNS 77.88.8.1»

user nobody
group nobody
keepalive 10 120
comp-lzo
persist-key
persist-tun
cipher AES-256-CBC
verb 3

При закомментированном значении push «redirect-gateway def1» в интернет ходит.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE — выполнял.

]# cat /etc/sysctl.conf net.ipv4.ip_forward = 1

Просьба не кидать тапками и подсказать где накосячил.

Трассировку с клиента и tcpdump с сервера(с обоих интерфейсов — VPN и аплинка) — в студию

Трассировка до ya.ru

Трассировка маршрута к ya.ru [87.250.250.242]
с максимальным числом прыжков 30:

1 2 ms 2 ms 2 ms 10.8.0.1
2 * * * Превышен интервал ожидания для запроса.
3 * * * Превышен интервал ожидания для запроса.
4 * * * Превышен интервал ожидания для запроса.
5 * * * Превышен интервал ожидания для запроса.
6 * * * Превышен интервал ожидания для запроса.

Результат tcdump

Выложить не получится так как openvpn был сконфигурирован с помощью PXE и в данный момент репозитории не доступны

Таблицы роутинга с клиента и сервера покажите. С клиента до и после подключения.

Ванную что овпн удаляет def gw провайдера, но не устанавливает def gw VPN. Если за комментировать строку то ходит мимо VPN. Смотри логи, выкладывай таблицы маршрутизации до и после подключения. К интернету подключаешься через PPP?

Таблицы с сервера и клиента

При подключении.

Таблицы с клиента при подключении http://prntscr.com/gbs973 Таблица с сервера http://prntscr.com/gbsa7r

Верно

Если закомментировать строку, ходит мимо VPN.

openvpn.log

Tue Aug 22 21:36:41 2017 192.168.1.66:21988 [client1] Peer Connection Initiated with [AF_INET]192.168.1.66:21988
Tue Aug 22 21:36:41 2017 MULTI: new connection by client ‘client1’ will cause previous active sessions by this client to be dropped. Remember to use the —duplicate-cn option if you want multiple clients using the same certificate or username to concurrently connect.
Tue Aug 22 21:36:41 2017 MULTI_sva: pool returned IPv4=10.8.0.6, IPv6=(Not enabled)
Tue Aug 22 21:36:41 2017 MULTI: Learn: 10.8.0.6 -> client1/192.168.1.66:21988
Tue Aug 22 21:36:41 2017 MULTI: primary virtual IP for client1/192.168.1.66:21988: 10.8.0.6
Tue Aug 22 21:36:43 2017 client1/192.168.1.66:21988 PUSH: Received control message: ‘PUSH_REQUEST’
Tue Aug 22 21:36:43 2017 client1/192.168.1.66:21988 SENT CONTROL [client1]: ‘PUSH_REPLY,route 10.8.0.1 255.255.255.255,route 10.8.0.0 255.255.255.0,redirect-gateway,dhcp-option DNS 77.88.8.8,dhcp-option DNS 77.88.8.1,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5,peer-id 1’ (status=1)
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 TLS: Initial packet from [AF_INET]192.168.1.66:28263, sid=fbe3e7dd a3f39a24
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 VERIFY OK: depth=1, C=RU, ST=Moscow, L=Moscow, CN=root
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 VERIFY OK: depth=0, C=RU, ST=Moscow, L=Moscow, CN=client1
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 peer info: IV_VER=2.3.13
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 peer info: IV_PLAT=win
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 peer info: IV_PROTO=2
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 peer info: IV_GUI_VER=OpenVPN_GUI_10
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 Data Channel Encrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 Data Channel Encrypt: Using 160 bit message hash ‘SHA1’ for HMAC authentication
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 Data Channel Decrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 Data Channel Decrypt: Using 160 bit message hash ‘SHA1’ for HMAC authentication
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 4096 bit RSA
Tue Aug 22 21:39:53 2017 192.168.1.66:28263 [client1] Peer Connection Initiated with [AF_INET]192.168.1.66:28263
Tue Aug 22 21:39:53 2017 MULTI: new connection by client ‘client1’ will cause previous active sessions by this client to be dropped. Remember to use the —duplicate-cn option if you want multiple clients using the same certificate or username to concurrently connect.
Tue Aug 22 21:39:53 2017 MULTI_sva: pool returned IPv4=10.8.0.6, IPv6=(Not enabled)
Tue Aug 22 21:39:53 2017 MULTI: Learn: 10.8.0.6 -> client1/192.168.1.66:28263
Tue Aug 22 21:39:53 2017 MULTI: primary virtual IP for client1/192.168.1.66:28263: 10.8.0.6
Tue Aug 22 21:39:55 2017 client1/192.168.1.66:28263 PUSH: Received control message: ‘PUSH_REQUEST’
Tue Aug 22 21:39:55 2017 client1/192.168.1.66:28263 SENT CONTROL [client1]: ‘PUSH_REPLY,route 10.8.0.1 255.255.255.255,route 10.8.0.0 255.255.255.0,redirect-gateway,dhcp-option DNS 77.88.8.8,dhcp-option DNS 77.88.8.1,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5,peer-id 0’ (status=1)
Tue Aug 22 21:45:29 2017 client1/192.168.1.66:28263 [client1] Inactivity timeout (—ping-restart), restarting
Tue Aug 22 21:45:29 2017 client1/192.168.1.66:28263 SIGUSR1[soft,ping-restart] received, client-instance restarting
Tue Aug 22 23:10:53 2017 192.168.1.66:8367 TLS: Initial packet from [AF_INET]192.168.1.66:8367, sid=9e18c98e a513925d
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 VERIFY OK: depth=1, C=RU, ST=Moscow, L=Moscow, CN=root
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 VERIFY OK: depth=0, C=RU, ST=Moscow, L=Moscow, CN=client1
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 peer info: IV_VER=2.3.13
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 peer info: IV_PLAT=win
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 peer info: IV_PROTO=2
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 peer info: IV_GUI_VER=OpenVPN_GUI_10
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 Data Channel Encrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 Data Channel Encrypt: Using 160 bit message hash ‘SHA1’ for HMAC authentication
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 Data Channel Decrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 Data Channel Decrypt: Using 160 bit message hash ‘SHA1’ for HMAC authentication
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 4096 bit RSA
Tue Aug 22 23:10:54 2017 192.168.1.66:8367 [client1] Peer Connection Initiated with [AF_INET]192.168.1.66:8367
Tue Aug 22 23:10:54 2017 client1/192.168.1.66:8367 MULTI_sva: pool returned IPv4=10.8.0.6, IPv6=(Not enabled)
Tue Aug 22 23:10:54 2017 client1/192.168.1.66:8367 MULTI: Learn: 10.8.0.6 -> client1/192.168.1.66:8367
Tue Aug 22 23:10:54 2017 client1/192.168.1.66:8367 MULTI: primary virtual IP for client1/192.168.1.66:8367: 10.8.0.6
Tue Aug 22 23:10:56 2017 client1/192.168.1.66:8367 PUSH: Received control message: ‘PUSH_REQUEST’
Tue Aug 22 23:10:56 2017 client1/192.168.1.66:8367 SENT CONTROL [client1]: ‘PUSH_REPLY,route 10.8.0.1 255.255.255.255,route 10.8.0.0 255.255.255.0,redirect-gateway,dhcp-option DNS 77.88.8.8,dhcp-option DNS 77.88.8.1,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5,peer-id 0’ (status=1)
Tue Aug 22 23:16:34 2017 client1/192.168.1.66:8367 [client1] Inactivity timeout (—ping-restart), restarting
Tue Aug 22 23:16:34 2017 client1/192.168.1.66:8367 SIGUSR1[soft,ping-restart] received, client-instance restarting

Как игнорировать изменение шлюза OpenVPN на стороне клиента

После поднятия защищенного канала OpenVPN весь клиентский трафик как правило идёт через него. На этапе установки соединения OpenVPN-сервер изменяет на клиенте шлюз по умолчанию, оправляя ему команду push «redirect-gateway». В этом нет никакой ошибки и в большинстве случаев, подобная настройка на стороне сервера вполне логична, да и пользователю не нужно вручную прописывать маршруты и весь трафик получается защищённым.

Но, допустим, что мы просто хотим предоставить удалённым пользователям возможность работы с ресурсами внутри сети. Зачем гонять весь трафик через защищённое соединение, когда требуется только доступ к терминальному серверу или сетевому принтеру? Пусть спокойно лазят в интернете и качают торренты, используя собственное подключение, а защищённый канал используется исключительно по прямому назначению, не тратя драгоценных ресурсов на обработку лишней информации.

Читайте также:  Реестр windows отслеживать изменения

На стороне OpenVPN сервера, за переопределение шлюза и DNS сервера у клиента отвечают следующие строки конфигурационного файла:

А как быть в случае, если нельзя поправить конфигурацию сервера? На самом деле, разработчиками предусмотрена возможность игнорировать правила redirect-gateway OpenVPN-сервера со стороны клиента (ссылка на страницу wiki IgnoreRedirectGateway)

Достаточно в конфигурационном файле клиента отфильтровать нужную опцию, указав её в качестве аргумента для pull-filter. Опция фильтрации параметров доступна начиная с версии 2.4 и выше и может использоваться только на клиентах. Для более старых версий OpenVPN следует воспользоваться другим методом, описание которого можно найти перейдя по ссылке чуть выше.

Чтобы игнорировать изменение шлюза OpenVPN в конфигурационный файл клиента добавляем такую строку:

То был конкретный пример из моего конфига, а вообще функция фильтрации параметров, полученных с сервера, выглядит так:

—pull-filter accept|ignore|reject текст

Флаг действия accept разрешает опцию, ignore удаляет ее, а reject помечает как ошибочную и запускает SIGUSR1. Фильтры могут вызываться несколько раз и применяются в указанном порядке. Несколько примеров:

—pull-filter ignore «route»

Удаляет все push-опции, содержащие текст route, в том числе и route-gateway. Если в тексте параметра присутствует пробел, его следует заключать в кавычки:

—pull-filter accept «route 192.168.1.»
—pull-filter ignore «route «

Будут удалены все маршруты, которые не начинаются с 192.168.1. Таким же образом можно отказаться от переназначения DNS-серверов при подключении к OpenVPN:

Стоит также обратить внимание, что reject может привести к повторному подключению, поэтому для игнорирования параметра, переданного сервером лучше использовать команду ignore.

ПыСы: ну и раз мы отказались от предложенного сервером маршрута по умолчанию, то на клиенте можно прописать недостающие маршруты из удалённой сети (если таковые требуются). Делается это просто:

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Комментариев: 2

Спасибо за информацию

Подскажите, как мне сделать игнорирование ssh подключений. Что бы я могу подключаться к удаленному серверу на котором работает OpneVPN, но VPN не распространялся на ssh подключения к серверу?

Мой опыт в настройке openvpn сервера для обхода блокировок.

Привет всем. Я сам родом из Украины. Кто не в курсе, наш президент запретил вконтакте, одноклассни, яндекс и mail.ru. Эти все сервисы очень важны для меня и я начал думать как ими пользоваться. Для android ставил Orbot (клиент TOR), OperaMax, OpenVPN(zaborona.help), для компьютера пользовался Opera с её встроенным VPN. Но все эти способы не устраивали меня. Сервис Zaborona.help подходил, но мне не нравилась маршрутизация через русский ip и что я не могу контролировать его. Скажу сразу — у меня нет неприязни к русским.

Захотелось себе свой openvpn сервер. Начал я со сбора информации : что это за штука VPS, как с ней работать, как поставить openvpn, сколько стоит это удовольствие, какая мощность мне нужна для сервера

Что такое VPS? Википедия дала исчерпывающий ответ . И главное что я понял это не отдельный компьютер для сервер, а виртуальная машина на основе физического сервера.

Стоит такая штука от 1 доллара/евро в месяц в зависимости от мощности. Можно найти предложения и подешевле при оплате сразу за год.

Как я прочёл на хабре для сервера openvpn достаточно 256 мегабайт ОЗУ и процессор от 1 Ггц.

Openvpn — это открытая реализация сервера VPN. Работает на Windows/Linux/Android/iOS.

Чтобы поставить openvpn на VPS можно воспользоваться кучей гайдов из сети или качнуть скрипт автоматической установки.

Управлять сервером нужно через конфигурационные файлы.

Итак: я купил VPS в Италии (сервис не буду называть чтобы не сочли за рекламу, он еще и в Чехии работает) за 1 евро в месяц. Мой конфиг :

1 Core Intel® Xeon® E5-2650L v4

20 GB SSD Storage

2TB/month data transfer

Мне такого хватит с головой.

Процесс оплаты я не буду описывать там всё стандартно.

При регистрации нужно ввести Hostnamе. Сначала меня ввело это в ступор, т.к. предлагалось в placeholder (серые буквы в поле ввода) ввести имя сайта. Но это не так, это нужно просто ввести имя машины, название сервера. Дальше я выбрал операционную систему Ubuntu 16.04. Ввёл данные для root пользователя, подождал 5 минут и мой сервер готов к установке openvpn. Чтобы получить доступ к его потрохам я скачал последнюю версию ssh клиента Putty (версия 0.7), установил её и получил доступ к командной строке.

Установка и настройка проходил по шагам:

1. Установил mc apt-get install mc . Ктопомнит нортонн командер или работает с FAR меня поймёт

2. Добавил в source list репозитарий openvpn. Использовал для этого команды:

echo «deb http://build.openvpn.net/debian/openvpn/ release/2.4 xenial main» > /etc/apt/sources.list.d/openvpn-aptrepo.list

3. Установил openvpn c помощью скрипта отсюда. Почему именно оттуда, мне было лень выполнять гайды состоящие из кучи шагов. При установке скрипт будет задавать вопросы в которых нужно будет сделать выбор типа сети, порта, названия файла конфигурации. Сам файл будет в /root.

4. Приступил к настройке самого сервера. Идею как его настроить почерпнул из конфигов Zaborona.help на гитхабе. Т.е. на моём сервере как и на забороне будет прокидывать vpn тунелль только к заблокированным сайтам. Адреса сайтов взял из конфигов забороны. Но я ещё хотел чтобы можно было весь трафик пускать через vpn.

5. Итак у меня получилось 2 конфига.

port 1194 #порт на котором работает сервер

proto tcp #протокол работы сети

tls-auth /etc/openvpn/ta.key 0

server 10.8.0.0 255.255.255.0 #ip адреса для клиентов сервера

#push «redirect-gateway def1 bypass-dhcp» #после раскомментирования строки весь трафик будет идти чрез vpn

push «dhcp-option DNS 208.67.222.222» #использую OPENDNS

push «dhcp-option DNS 208.67.220.220»

push «route 208.67.220.220»

push «route 208.67.220.222»

keepalive 10 120

# Routes — маршруты на запрещённые сайты

push «route 5.45.192.0 255.255.192.0»

push «route 5.255.192.0 255.255.192.0»

push «route 37.9.64.0 255.255.192.0»

push «route 37.140.128.0 255.255.192.0»

push «route 77.75.152.0 255.255.248.0»

push «route 77.88.0.0 255.255.192.0»

push «route 84.201.128.0 255.255.192.0»

push «route 87.250.224.0 255.255.224.0»

push «route 93.158.128.0 255.255.192.0»

push «route 95.108.128.0 255.255.128.0»

push «route 100.43.64.0 255.255.224.0»

push «route 109.235.160.0 255.255.248.0»

push «route 130.193.32.0 255.255.224.0»

push «route 141.8.128.0 255.255.192.0»

push «route 178.154.128.0 255.255.128.0»

push «route 185.32.185.0 255.255.255.0»

push «route 185.32.186.0 255.255.255.0»

push «route 185.71.76.0 255.255.252.0»

push «route 199.21.96.0 255.255.252.0»

push «route 199.36.240.0 255.255.252.0»

push «route 213.180.192.0 255.255.224.0»

#push «route-ipv6 2001:678:384::/48»

#push «route-ipv6 2620:10f:d000::/44»

#push «route-ipv6 2a02:6b8::/32»

#push «route-ipv6 2a02:5180::/32»

push «route 5.61.16.0 255.255.248.0»

push «route 5.61.232.0 255.255.248.0»

push «route 79.137.157.0 255.255.255.0»

push «route 79.137.183.0 255.255.255.0»

push «route 94.100.176.0 255.255.240.0»

push «route 95.163.32.0 255.255.224.0»

push «route 95.163.248.0 255.255.248.0»

push «route 128.140.168.0 255.255.248.0»

push «route 178.22.88.0 255.255.248.0»

push «route 178.237.16.0 255.255.240.0»

push «route 185.5.136.0 255.255.252.0»

push «route 185.16.148.0 255.255.252.0»

push «route 185.16.244.0 255.255.252.0»

push «route 188.93.56.0 255.255.248.0»

push «route 194.186.63.0 255.255.255.0»

push «route 195.211.20.0 255.255.252.0»

push «route 195.211.128.0 255.255.252.0»

push «route 195.218.168.0 255.255.255.0»

push «route 208.87.92.0 255.255.252.0»

push «route 217.20.144.0 255.255.240.0»

push «route 217.69.128.0 255.255.240.0»

push «route 185.6.244.0 255.255.252.0»

push «route 185.30.176.0 255.255.252.0»

push «route 195.218.190.0 255.255.254.0»

#push «route-ipv6 2a00:1148::/32»

#push «route-ipv6 2a00:a300::/32»

#push «route-ipv6 2a00:b4c0::/32»

#push «route-ipv6 2a04:4b40::/29»

push «route 87.240.128.0 255.255.192.0»

push «route 93.186.224.0 255.255.240.0»

push «route 95.142.192.0 255.255.240.0»

push «route 95.213.0.0 255.255.192.0»

push «route 185.29.130.0 255.255.255.0»

push «route 185.32.248.0 255.255.252.0»

push «route 77.74.176.0 255.255.252.0»

push «route 77.74.181.0 255.255.255.0»

push «route 77.74.183.0 255.255.255.0»

push «route 93.159.228.0 255.255.252.0»

push «route 185.54.220.0 255.255.254.0»

push «route 185.85.12.0 255.255.255.0»

push «route 185.85.14.0 255.255.254.0»

push «route 77.74.176.0 255.255.248.0»

push «route 91.103.64.0 255.255.248.0»

Читайте также:  Windows server dns diagnostics

push «route 93.159.224.0 255.255.248.0»

#push «route-ipv6 2a03:2480::/33»

push «route 178.248.232.183 255.255.255.255»

push «route 178.248.233.94 255.255.255.255»

push «route 195.88.252.0 255.255.254.0»

tls-auth /etc/openvpn/ta.key 0

server 10.8.1.0 255.255.255.0

push «redirect-gateway def1 bypass-dhcp»

push «dhcp-option DNS 208.67.222.222»

push «dhcp-option DNS 208.67.220.220»

keepalive 10 120

6. Чтобы заработало сразу 2 конфига нужно было в файле /etc/rc.local добавить маршрутизацию и запуск 2-х экземпляров сервера

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT —to ip_address_vps

iptables -t nat -A POSTROUTING -s 10.8.1.0/24 ! -d 10.8.1.0/24 -j SNAT —to ip_address_vps

sudo service openvpn start server

sudo service openvpn start server2

до строчки exit

7. Команды управления openvpn:

openvpn —config /etc/openvpn/server.conf — проверка выбранного конфига, нет ли в нём конфликтующих опций

service openvpn restart или stop или start или status

8. Установка и настройка ftp сервера — чтобы забрать файл конфигурации для клиентов

конфиг находится по пути /etc/vsftpd.conf

chroot_local_user=NO — опция отвечающая чтобы юзер попадал только в свою домашнюю дтректорию

chroot_list_file=/etc/vsftpd.chroot_list — список юзеров у которых доступен вход в домашнюю директорию

Чтобы зайти на ftp сервер нужно создать отдельного пользователя командой

useradd ftp_user — вводим ему пароль, потом идём в /home/ftp_user и создаём папку с правами на запись.

Нюанс заключается в том что в самой директории /home/ftp_user права только на чтение, а в созданной папке уже и на запись.

/etc/vsftpd.chroot_list содержит только имя юзера ftp_user

9. Скачиваем файл конфигурации и изменяем его для 2-х конфигов.

Менять нужно только порт чтобы соответсвовал конфигу. Для каждого конфига свой файл конфигурации.

10. Для windows качаем openvpn клиент, импортируем конфигурацию и подключаемся. Для android я рекомендую использовать «Openvpn для Android», тоже делаем импорт конфигурации и настраиваем какие приложения должны бегать через vpn.

После всего этого осталось только вовремя оплачивать аренду сервера.

Дубликаты не найдены

Кто в контакте — тот москаль!

сегодня видел рекламный щит — «ты щэ ВКОНТАКТЕ з ворогом?»

какие долбоёбы их ставят.

Это риторический вопрос

Мое мнение, что пора Вам создавать украиноязычный сегмент интернету, смекаешь?

Для бабушек и дедушек?

P.S.: кстати для тех людей у кого нет root на Android использование vpn является очень простым решением

Спасибо за статью. Есть вопрос, а server2.conf как вы создали? в повторном запуске скрипта нет опции по созданию еще одной конфигурации.

server2.conf — просто создал файл и прописал туда настройки

FTP было лишним, все прекрасно забирается по SFTP через SSH

не знал об этом, спасибо

А что не так с русскими IP ?

А-а-а. Субъективно против всего русского?:)

Дешевого vps сервера в России найти не смог, тем более такой конфигурации.

хостинг аруба? как там за учётом трафика следить, если он ограничен в тарифном плане?

ну ничего так хостинг. работает вроде. давно хотел приобщиться к виртуальным серверам, пощупать, так сказать. вот тоже арендовал у них по такому же тарифному плану. у меня правда почему-то не приходит пароль в смс для control panel (захожу туда через costumer area).
обмазываться анонимностью пока нет желания, для начала поднял там прокси (3proxy). делал тоже всё по мануалам.

такой момент: я столкнулся на этом хостинге с блокировкой моего сервера типа из-за подозрительной активности (панель управления тоже заблокирована). на 72 часа (на первый раз, как они уточнили в своём уведомительном письме). в ответ попросил их объяснить, мол я молодой не опытный, пользуюсь вами всего неделю, расскажите чего я натворил-то конкретно, чтобы в будущем избежать такой участи. молчат как партизаны. а на сервере-то всё стандартно по мануалам: openvpn, 3proxy, vnstat. тестил его с пары компов, да на телефоне. авторизация там у меня по приватному ключу (не думаю что кто-то увёл у меня сервер и начал спамить, например). вот и гадаю теперь (жду разбана). хотя в сети не мало отзывов, где народ таким же образом достаточно долго пользует их хостинг, но так же не мало негатива, например, связанного с невозможностью пользования их бесплатного фтп 50 гб (прилагающегося к каждому серверу) из-за ограничения прав, и что поддержка разводит руками.

Attack Type: TCP SYN Flood

Action: VM Disconnected

Source IP: 123.123.123.123

Destination IP: 223.4.223.77

Customer Notification: OK
и разбанили.

нужно написать админам они подскажут

11. а потом постучался товарищ майор

в отставке и попросил ему настроить

яндекс браузер, а на андроиде впн робот, все работает супер

открою секрет, это и есть хром, только яндексом зовут

Установка OpenVPN и прозрачного прокси одной командой

Ранее я писал как установить OpenVPN сервер подробно и с картинками (1, 1.1(она же 4), 2, 3, 5). Если вы воспользовались моими инструкциями, то вам пришлось создавать сертификаты, настроить OpenVPN сервер, настроить iptables, создать конфиг-файлы для клиентских устройств. Ничего сложного там нет, но тем не менее, даже такие комиксы не всем под силу. Тогда предлагаю воспользоваться моим скриптом.

Сам скрипт выложен на GitHUB, посмотреть можно здесь.

Вам пондобиться выбрать и арендовать VPS. Как это сделать написано здесь. Нам понадобиться VPS на CentOS 7. Далее, желательно настроить SSH на вход по сертификату. Инструкция здесь. В этой же инструкции написано, как скачивать файлы с сервера с помощью WinSCP.

Отлично, вы вошли на свой сервер по SSH. Выполняем команду:

И всё. Скрипт скачется, запустится и начнет задавать вам вопросы и комментировать свои действия на русском языке. Вам останется лишь читать и отвечать на вопросы скрипта. После установки OpenVPN скрипт перзагрузит сервер. После этого можете заходить с помощью WinSCP и скачивать из папки /root/ файл(ы) .ovpn с уже «вшитыми» в них сертификатами. Дальше применяете их как описано в этой статье.

Для установки прозрачного прокси-сервера 3proxi (про него в этой статье) запустите мой скрипт командой

и выбирайте нужный пункт меню. В том же меню вы можете создать новых пользователей или удалить уже имеющихся.

Все генерируемые файлы срипты, конфиги и файлы, а также их расположение полностью совпадают с описанными в моих статьях.

Пользуйтесь на здоровье.

Хотим свободы и анонимности в сети или еще раз про свой VPN сервер для чайников (Часть 5)

Если вы вдохновились моими статьями и сделали всё, как написано, то у вас уже есть:

1. Сервер, расположенный где-то в дебрях Европы.

2. На сервере настроен вход SSH по сертификату и файрвол.

3. На сервер установлен VPN-сервер, сгенерирован ворох сертификатов для сервера и клиентов.

4. Ваши устройства (компьютеры, смартфоны, планшеты и т.п.) настроены на соединение с VPN-сервером.

Теперь ваш трафик по территории собственной страны идет только в зашифрованном виде, а доступ к ключам шифрования только у вас.

Казалось бы, живи и радуйся. Но не всё так просто. Ваше клиентское устройство, напрямую или косвенно, продолжает многое сообщать о вас: тип устройства, операционная система, внутренний IP адрес, и пр. Так происходит, потому что VPN-ервер не модифицирует полученные от вас пакеты, он просто их расшифровывает и отправляет в сеть.

Хватит это терпеть! Мы запилим свой прокси-сервер с анонимностью и прозрачностью.

Proxy server (Прокси сервер) – промежуточный компьютер, который является посредником между вашим компьютером и Интернетом. Прокси обычно используют либо для ускорения работы в сети Интернет, либо для анонимного прохождения в сети Интернет. Так же использование анонимного прокси, может быть использовано, как дополнительное средство защиты: анонимный прокси (anonymous proxy) подменяет Ваш IP-адрес, и злоумышленник будет пытаться совершить атаку не на Ваш компьютер, а на прокси сервер, у которого, зачастую, максимально мощная система защиты.

Читайте также:  Geforce графический драйвер для windows 10

Там ещё есть интересное в статье, почитайте.

Нас интересует умение прокси подменять отправителя пакетов и обрезать из них всё лишнее. Т.е. повысить нашу анонимность. Я уже писал в первой части, что 100% анонимности мы не добьёмся, но двигаться в этом направлении мы будем.

Есть over9000 реализаций прокси. Изначально я хотел использовать squid в связке с squidguard + adblock, но с кальмаром возникли проблемы. В разных версиях дистрибутивов он вёл себя по-разному с протоколом https, да и вообще последние его редакции какие-то не удачные. Поскольку данная статья рассчитана на не квалифицированного читателя, то перегружать её всеми возможными костылями для squid я посчитал не целесообразным. Поэтому, после недолгих исканий, был выбран 3proxy. В дальнейшем я всё-таки запили статью про squid.

И да, как вы наверняка помните, наш файрволл настроен таким образом, что прокси будет принимать подключения только от клиентов VPN-сети.

Пока мы еще не сделали анонимный прокси, попробуйте позаходить на сайты, показывающие степень вашей анонимности. Например:

и прочие. Тысячи их. Потом сравните с тем, что будет после настройки прокси.

Хватит читать, открываем консоль. Будем отращивать бороду собирать наш прокси из исходников.

Перейдём в домашнюю папку

Быстренько посмотрим, какая версия 3proxy сейчась актуальна на странице загрузок https://www.3proxy.ru/download/

На момент написания статьи это была версия 0.8.9

И переходим в папку с исходниками

В опциях исходников делает наш сервер полностью анонимным.

Компилируем (О да! Теперь вы можете хвастаться, что в линуксе компилировали из сырцов. Чувствуете, как на вашем лице начинает пробиваться борода, на спине прорастать свитер?)

Подготовим рабочее место для нашего прокси

mkdir -p /etc/3proxy/bin
touch /etc/3proxy/3proxy.pid

Теперь перенесем скомпилированные исполняемые файлы в рабочую папку

cp ./src/3proxy /etc/3proxy/bin
cp ./src/TransparentPlugin.ld.so /etc/3proxy/bin
cp ./cfg/3proxy.cfg.sample /etc/3proxy/3proxy.cfg

В папке /etc/rc.d/init.d

создаем файл 3proxy следующего содержания

#!/bin/sh
#
# chkconfig: 2345 20 80
# description: 3proxy tiny proxy server
#
#
#
#
case «$1» in
start)
echo Starting 3Proxy
/etc/3proxy/bin/3proxy /etc/3proxy/3proxy.cfg
RETVAL=$?
echo
[ $RETVAL ]
;;
stop)
echo Stopping 3Proxy
if [ /etc/3proxy/3proxy.pid ]; then
/bin/kill `cat /etc/3proxy/3proxy.pid`
else
/usr/bin/killall 3proxy
fi
RETVAL=$?
echo
[ $RETVAL ]
;;
restart|reload)
echo Reloading 3Proxy
if [ /etc/3proxy/3proxy.pid ]; then
/bin/kill -s USR1 `cat /etc/3proxy/3proxy.pid`
else
/usr/bin/killall -s USR1 3proxy
fi
;;
*)
echo Usage: $0 ««
exit 1
esac
exit 0

Сохраняем и устанавливаем права 0755. К сожалению формат пикабу не позволяет разместить тексты скриптов с нормальным форматированием. Можете посмотреть, как он выглядит в нормальном виде здесь. Но и без форматирования работать будет.

Теперь откроем файл /etc/3proxy/3proxy.cfg

Удалите всё его содержимое и вставьте следующее:

daemon
pidfile /etc/3proxy/3proxy.pid
plugin /etc/3proxy/bin/TransparentPlugin.ld.so transparent_plugin
nserver 8.8.8.8
nserver 8.8.4.4
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
#log /dev/null
log /etc/3proxy/3proxy.log D
logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»
external 123.123.123.123
internal 10.8.0.1
auth none
maxconn 64
allow *
parent 1000 http 0.0.0.0 0
allow *
parent 1000 socks5 0.0.0.0 0
tcppm -i10.8.0.1 8080 127.0.0.1 11111

Здесь, в строчке

место 123.123.123.123 вписываем IP адрес вашего сервера.

Сохраним и закроем.

Прокси-сервер готов к запуску. Запустим его

Отлично, прокси запустился.

Если пишет ошибки, смотрим, что написано в консоли, что написано в /etc/3proxy/3proxy.log.[дата и время лога]

Если вы всё сделали в точности, как написано выше, ошибок быть не должно.

Теперь нам нужно поправить правила для iptables. Чтобы не настраивать прокси-сервер на всех клиентских устройствах (на смартфонах это зачастую попросту невозможно без рут-прав), мы сделаем наш прокси-сервер прозрачным. Т.е. для клиентов он будет не виден. Однако весь трафик, приходящий по VPN будет заворачиваться на прокси-сервер, а уже потом отправляться в открытую сеть.

Открываем Файл /root/ipt-set и аккуратно вносим следующие исправления:

и исправляем на

# squid
$IPT -A INPUT -i $IF_OVPN -p tcp —dport $SQUID_PORT -j ACCEPT
$IPT -A INPUT -i $IF_OVPN -p udp —dport $SQUID_PORT -j ACCEPT

и исправляем на

# proxi
$IPT -A INPUT -i $IF_OVPN -p tcp —dport $PROXI_PORT -j ACCEPT
$IPT -A INPUT -i $IF_OVPN -p udp —dport $PROXI_PORT -j ACCEPT

И сразу, после этих строчек добавляем ещё две:

$IPT -t nat -A PREROUTING -i $IF_OVPN -p tcp -m tcp —dport 80 -j DNAT —to-destination 10.8.0.1:$PROXI_PORT
$IPT -t nat -A PREROUTING -i $IF_OVPN -p tcp -m tcp —dport 443 -j DNAT —to-destination 10.8.0.1:$PROXI_PORT

Сохраняем и закрываем файл.

Приведу, на всякий случай, файл /root/ipt-set полностью:

#!/bin/sh
IF_EXT=»venet0″
IF_OVPN=»tun0″
OVPN_PORT=»443″
PROXI_PORT=»8080″
IPT=»/sbin/iptables»
IPT6=»/sbin/ip6tables»
# flush
$IPT —flush
$IPT -t nat —flush
$IPT -t mangle —flush
$IPT -X
$IPT6 —flush
# loopback
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# default
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
$IPT6 -P INPUT DROP
$IPT6 -P OUTPUT DROP
$IPT6 -P FORWARD DROP
# allow forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# NAT
# #########################################
# SNAT — local users to out internet
$IPT -t nat -A POSTROUTING -o $IF_EXT -j MASQUERADE
# INPUT chain
# #########################################
$IPT -A INPUT -p tcp ! —syn -m state —state NEW -j DROP
$IPT -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT
# ssh
$IPT -A INPUT -i $IF_EXT -p tcp —dport 22 -j ACCEPT
# VPN
$IPT -A INPUT -i $IF_OVPN -p icmp -s 10.8.0.0/24 -j ACCEPT
# DNS
$IPT -A INPUT -i $IF_OVPN -p udp —dport 53 -s 10.8.0.0/24 -j ACCEPT
# openvpn
$IPT -A INPUT -i $IF_EXT -p udp —dport $OVPN_PORT -j ACCEPT
# proxi
$IPT -A INPUT -i $IF_OVPN -p tcp —dport $PROXI_PORT -j ACCEPT
$IPT -A INPUT -i $IF_OVPN -p udp —dport $PROXI_PORT -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF_OVPN -p tcp -m tcp —dport 80 -j DNAT —to-destination 10.8.0.1:$PROXI_PORT
$IPT -t nat -A PREROUTING -i $IF_OVPN -p tcp -m tcp —dport 443 -j DNAT —to-destination 10.8.0.1:$PROXI_PORT
# FORWARD chain
# #########################################
$IPT -A FORWARD -i $IF_OVPN -o $IF_EXT -m state —state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $IF_EXT -o $IF_OVPN -m state —state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
# OUTPUT chain
# #########################################
$IPT -A OUTPUT -m state —state NEW,ESTABLISHED,RELATED -j ACCEPT

Теперь весь трафик из VPN для портов 80 и 443 (т.е. http и https) будет перенаправлен на наш прокси.

Применим правила командой:

Если вы прямо сейчас подключены к VPN-серверу, то уже можете заходить на разные сайты и проверять, что всё работает. Зайдите на один-два любых сайта, убедитесь, что они открываются. Теперь посмотрите в файл лога /etc/3proxy/3proxy.log.[дата и время лога]

В нем вы должны увидеть свою активность. Если всё работает, то остановим наш прокси:

Откроем его конфиг /etc/3proxy/3proxy.cfg и строчки:

#log /dev/null
log /etc/3proxy/3proxy.log D
logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»

log /dev/null
#log /etc/3proxy/3proxy.log D
#logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»

Теперь прокси-сервер не будет писать логи и сохранять историю посещений сайтов. Сразу удалим уже имеющийся лог /etc/3proxy/3proxy.log.[дата и время лога]

И запустим прокси:

И добавим его в автозагрузку:

Итак, что мы имеем после выполнения всех инструкций:

1. Арендован и настроен VPS. Вход по сертификату.

2. Установлен и настроен личный VPN-сервер и, в нагрузку, свой удостоверяющий уентр.

3. Настроены клиенты VPN-сети.

4. Установлен и настроен анонимный, прозрачный прокси-сервер.

В следующих статьях мы добавим еще немного анонимности нашему серверу и вообще поговорим за личную информационную безопасность во всемирной паутине. Не переключайтесь.

Оцените статью