Последнее время вижу очень много статей на тему vds с впн для тех или иных задач.
В основном людям нужен такой сервер для обычного неторопливого серфинга.
В связи с тем что сервер за пределами РФ стало получить сложнее и дороже решил поделиться этим способом. Он подойдет если у вас есть возможность создать виртуалку дома или рф хостинг который заметно дешевле зарубежного.
1) Создаем отдельную виртуальную машину с ОС linux, например ubuntu.
2) Настроим машину, все команды выполняются от root.
Включим роутинг
echo net.ipv4.ip_forward=1 > /etc/sysctl.conf sysctl -p
Установим iptables
apt update && apt install iptables-persistent -y systemctl enable iptables systemctl start iptables
Можно очистить все текущие правила если вы понимаете зачем это делаете
iptables -F -t nat && iptables -F
Базовые правила которые нужны для работы:
Также обратите внимание что мой сетевой интерфейс в машине называется ens18, у вас может быть другой. внесите правки самостоятельно.
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 9051 iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 9051 iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 9053 iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
Установим tor и obfsproxy
apt install obfs4proxy tor -y systemctl enable tor
Настроим тор.
Обратите внимание что в конфиге используются Bridge, если с этими не заработает можно взять здесь.
cat << EOF > /etc/tor/torrc DataDirectory /var/lib/tor Log notice file /var/log/tor/notice.log VirtualAddrNetworkIPv4 10.192.0.0/10 AutomapHostsOnResolve 1 SocksPort 0.0.0.0:9052 TransPort 0.0.0.0:9051 DNSPort 0.0.0.0:9053 ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy Bridge obfs4 94.140.115.5:443 28CA5C42872FD6FBEDA9658F2A63618776A54416 cert=GYIbAY5uvHsfB9lBMGOS9/0+nU3uIO+DdxBZsOWwfwZsjUlxz3YIOqFKQg5GRzINiy1jAw iat-mode=0 Bridge obfs4 162.19.245.215:42001 9953E998B6C65012A49A6B48BE42065E6559804A cert=vBTn9bnFVGxcL067lP3zwqkN1gKv9VsKVZIgUIYOirVXd0D2KaPQnZjgKTgIt1sk1sZyFA iat-mode=0 UseBridges 1 # для жителей СНГ рекомендую исключить Exit-ноды следующих стран ExcludeExitNodes {RU},{UA},{BY} EOF cat << EOF > /etc/tor/torsocks.conf TorAddress 127.0.0.1 TorPort 9050 OnionAddrRange 127.42.42.0/24 EOF systemctl restart tor
Чтобы убедиться что служба тор успешно работает можете ввести команду:
tail -f /var/log/tor/notice.log
Если увидели Bootstrapped 100% (done)
: Done значит все хорошо.
Далее нам нужно установить любой удобный вам vpn, я предпочитаю этот.
apt install wget -y wget https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/vpnsetup_ubuntu.sh -O vpn.sh && sh vpn.sh
Скрипт выведет вам настройки для подключения. ip адрес локальной машины можете посмотреть через команду ip a
.
Сохраним правила iptables
iptables-save > /etc/iptables/rules.v4
Если ваш сервер доступен по публичному адресу рекомендую немного настроить безопасность:
# разрешаем ssh iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # разрешаем весь трафик через впн соединения iptables -A INPUT --in-interface ppp+ -j ACCEPT iptables -A INPUT --in-interface lo -j ACCEPT # запрещаем все что не разрешили iptables -P INPUT DROP # сохраним правила iptables-save > /etc/iptables/rules.v4
На всякий случай выложу полный листинг правил iptables.
cat /etc/iptables/rules.v4
# Generated by iptables-save v1.8.4 on Fri May 12 08:00:50 2023 *nat :PREROUTING ACCEPT [41:9322] :INPUT ACCEPT [22:3346] :OUTPUT ACCEPT [39:2458] :POSTROUTING ACCEPT [27:1638] -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9051 -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 9051 -A PREROUTING -p udp -m udp --dport 53 -j REDIRECT --to-ports 9053 -A POSTROUTING -s 192.168.42.0/24 -o ens18 -j MASQUERADE -A POSTROUTING -s 192.168.43.0/24 -o ens18 -m policy --dir out --pol none -j MASQUERADE -A POSTROUTING -o ens18 -j MASQUERADE COMMIT # Completed on Fri May 12 08:00:50 2023 # Generated by iptables-save v1.8.4 on Fri May 12 08:00:50 2023 *filter :INPUT DROP [2:256] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [348:126087] -A INPUT -p udp -m udp --dport 1701 -m policy --dir in --pol none -j DROP -A INPUT -m conntrack --ctstate INVALID -j DROP -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p udp -m multiport --dports 500,4500 -j ACCEPT -A INPUT -p udp -m udp --dport 1701 -m policy --dir in --pol ipsec -j ACCEPT -A INPUT -p udp -m udp --dport 1701 -j DROP -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -i ppp+ -j ACCEPT -A INPUT -i lo -j ACCEPT -A FORWARD -m conntrack --ctstate INVALID -j DROP -A FORWARD -i ens18 -o ppp+ -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i ppp+ -o ens18 -j ACCEPT -A FORWARD -i ppp+ -o ppp+ -j ACCEPT -A FORWARD -d 192.168.43.0/24 -i ens18 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 192.168.43.0/24 -o ens18 -j ACCEPT -A FORWARD -s 192.168.43.0/24 -o ppp+ -j ACCEPT -A FORWARD -j DROP COMMIT # Completed on Fri May 12 08:00:50 2023
UPD для тех кто читает через слово или видит ФР хостинг и пугается:
-
трафик выходит через tor, блокировки запрещенных ресурсов обходятся.
-
статья что это еще один способ который подойдет для некоторых ситуаций, а не лучший итп
ссылка на оригинал статьи https://habr.com/ru/articles/734650/
Добавить комментарий