Блог P1ratRuleZZZ

Ubuntu туралы өз Бірнеше серверін орнату 16.04 Linux

Бірнеше VS Plain DNS

DNS қандай? DNS домендік атауды қызмет болып табылады, кеңінен бүгін барлығына пайдаланылатын. Егер сіз DNS пайдаланатын болсаңыз, сіз білмесеңіз, онда бұл мақала сен үшін емес,.

DNS машина оқи алатын мекенжайларына адам оқи алатын домендік атауларды шешу үшін пайдаланылады. шынында, Егер тарап ұқыпты және қысқа аты бар немесе жоқ болса, сервер Интернетте үшін ол маңызды емес, ол тіпті сияқты ұсқынсыз IP мекенжайларын бар қарсы емес 19.5.81.65 емес, 1.1.1.1 – for example. Айтпақшы, 1.1.1.1 – is a really working DNS server address of CloudFlare and it supports all the protocols: DNS, Бірнеше, DNS-Over-TLS, DNS-Over-HTTPS.

солай, домен атауы бойынша Интернетте кейбір сервер IP-мекен-жайын білу үшін DNS серверлері пайдаланылады. Сіздің браузеріңіз сияқты DNS-сервер сұрақ: “What is the IPv4 address of www.google.com” and the DNS server responds “The IPv4 address of www.google.com is 123.456.789.123”. Әрине, бұл нақты IP емес,, нақты IP үлкенірек сандар болуы мүмкін емес 255 ол дәл болуы керек, өйткені 1 байт. солай, in this routine anyone who sniffs on your wired/wireless connection can see that you are visiting “google.com”. Бірнеше хаттама ДК-beetween осы ақпаратты және ешкімді шифрлау үшін мұнда және тағайындалған ресурс домен сұрау отырамын алатын болады.

Осы баптың мақсаты

  • өз Бірнеше v2 экспедитор орнату (v1 тым қолдау) ( біз dnsdist пакетін пайдалануға болады)
  • Windows үшін Бірнеше клиентін орнату
  • Android үшін Бірнеше клиентін орнату

Ескерту: мақала ағылшын тілінде жазылған. автоматты аударма өшіру үшін ағылшын ауысу.

барлық оқулықты көру үшін одан әрі мақаланы оқыңыз.

Өздеріңіз көріп отырғандай, біз де клиент бағдарламалық қамтамасыз етуді орнату процесі арқылы баруға. Бұл дегеніміз, сіз өз серверін орнату қажет емес, егер екенін білдіреді, дәл осы қадамды өткізіп және клиент орнату өтіңіз. Интернет қарап пайдаланғанда және қауіпсіз сезінуге болады қоғамдық Бірнеше сервер тонна бар.

қадам 1. Бірнеше Сервер орнату

талаптар

  • Ubuntu жұмыс істеп VPS сервер 16.04 (Ескерту: кез келген Linux пайдаланылуы мүмкін, Бұл Ubuntu пайдалануға талабы емес, бірақ бұл оқулықта Мен Ubuntu пайдалануға болады). Сіз Debian жұмыс істеп жатсаңыз, Орнату процесі дерлік дәл. Бірақ сіз CentOS жұмыс істеп, егер (RPM пакеттері негізделген, ол) ол сіз үшін түрлі болады
  • Сіз бұл серверде түбір рұқсаттары болуы керек
  • клиент орнату және сынау үшін кез келген ДК жұмыс істеп Windows
  • (міндетті емес) кез келген Linux ОЖ басқаруымен жұмыс Кез келген PC / Router / Device (Ubuntu, Debian, CentOS, RedHat т.б.) процессорлар x64 / x86 / ARM / MIPS және т.б..
  • (міндетті емес) орнатылған AdGuard бағдарламасымен Кез келген Android телефоны

VPS дайындау

Мен оған Бірнеше серверді орнату үшін кейбір арзан Cloud Server пайдалануға болады. солай, Мен SSH арқылы қосылған жүрмін және түбірлік консолін қараңыз


As you can see I’m using Putty to connect to Linux server from Windows machine. Disclaimer: Windows кеңінен қолданылатын және көп адам оны пайдаланып жатсаңыз және менің ойымша, бұл сондай-ақ шындыққа жақын болғысы келеді, өйткені мен клиент машинасында ретінде мұнда терезелерін пайдалану. Linux-ті негізгі операциялық жүйесі ретінде пайдаланатын адамдарға мұндай нұсқаулықтарды оқудың қажеті жоқ, өйткені олар мұны өздігінен жасай алады 🙂

солай, жаңарту бумаларын мүмкіндік береді және ресми репо бойынша libsodium пакетін нұсқасын тексеру:

apt-get update
apt-get install nano
apt-cache search libsodium

Және біз пакеттерін тізімін көру

ның libsodium18 пакетін нұсқасын тексеру болсын

 apt-cache madison libsodium18 

Мен алды пакеті нұсқасы 1.0.8. ол Бірнеше V2 үшін қажетті шифрлеуді қолдамайды, себебі, бұл біз үшін жақсы емес (anyway v1 will work though we want to do it the way “comme il le faut”. Біз кем дегенде нұсқасы қажет 1.0.9.

солай, Біз туралы Linux-ақыл-режимін қосыңыз және көзден оны компиляциялау болады!

Жарайды ма, мұнда сәл ескерту: Сіз Ubuntu / Debian x64 жұмыс істеп, егер, Сіз дұрыс жерде менімен құрастырған dpkg бумаларын жүктеп алуға болады: libsodium-1.0.9-dpkg

алғашқы APT қол жетімді болуы үшін көздерін мүмкіндік болсын: Бұл үшін, open the file /etc/apt/sources.list and uncomment in sources universe the row with deb-src … universe OR just execute the following:


echo "deb-src http://mirror.yandex.ru/ubuntu $(lsb_release -cs) universe" > /etc/apt/sources.list.d/universe.list
apt-get update

Let’s create a new folder inside /root and call it “build”. Содан кейін libsodium үшін көздерін жүктеу және өзгеріссіз, оны салу көріңіз:

apt-get build-dep libsodium18
apt-get install git nano dpkg-dev devscripts fakeroot
mkdir -p /root/build/libsodium
cd /root/build/libsodium
apt-get source libsodium18
cd libsodium-1.0.8/
fakeroot debian/rules binary

It will take some time… But the main point is that you should not have any errors while compilation and should see at the end the following:

солай, *.Деб пакеттері сәтті салынды. Енді осы пакетін нұсқасын жаңартуға мүмкіндік 1.0.9. Біз ресми пайдалануға болады GitHub қайнар көз.


uupdate -v 1.0.9 ../libsodium_1.0.8-5.debian.tar.xz
cd ../libsodium-1.0.9
git init
git remote add origin https://github.com/jedisct1/libsodium.git
git fetch origin
git checkout -b stable origin/stable
git checkout c09b00cf20

Ескерту: соңғы команда орындалуы тиіс қажет емес. Бірақ бұл, менің пайдаланылған нұсқа болып табылады және ол жұмыс істеді. So if you want to install newer version just do not execute latest command with “c09b00cf20” commit id. Сіз бұл ол білмейді, онда, жай ғана оқулықты орындаңыз және бұл жұмыс істеуі керек 🙂

қазір, ның пакеті өзгерістер жаңартуға мүмкіндік және нұсқасы жаңа санын орнату:


dch -n

Бұл мәтін өңдегішін ашады (нано) және сіз жай ғана, содан кейін Ctrl + O Ctrl + X басу арқылы шығу басу арқылы оны сақтау керек.

қазір, нұсқасын қалпына келтіру 1.0.9

fakeroot debian/rules binary
cd ../
ls -lah

Ал біз бар файлдар тізімін көру: біз libsodium18_1.0.9-0ubuntu1_amd64.deb libsodium-dbg_1.0.9-0ubuntu1_amd64.deb libsodium-dev_1.0.9-0ubuntu1_amd64.deb болуы тиіс
қазір, оларды барлық орнату:

dpkg -i libsodium18_1.0.9-0ubuntu1_amd64.deb libsodium-dbg_1.0.9-0ubuntu1_amd64.deb libsodium-dev_1.0.9-0ubuntu1_amd64.deb

Міне бітті. Негізгі талап пакеті орнатылған. қазір, ның ресми репо пайдаланып көздерден dnsdist пакетін компиляциялау мүмкіндік GitHub.


apt-get install ragel virtualenv zip libsystemd-dev protobuf-compiler libssl-dev libprotobuf-dev dh-systemd libboost-dev libboost1.58-dev libbsd-dev libedit-dev liblua5.2-0 liblua5.2-dev libreadline-dev libreadline6-dev libtinfo-dev
cd /root/build
git clone -b "dnsdist-1.3.3" https://github.com/PowerDNS/pdns
cd pdns/pdns/dnsdistdist
autoreconf -i
./configure --prefix="" --exec-prefix=/usr --sysconfdir="/etc/dnsdist" --with-systemd="/lib/systemd/system" --enable-dns-over-tls --enable-dnscrypt --with-protobuf

мұнда ешқандай қателер бар-жоғын тексеріңіз және компиляция


make
make install

And wait it to compile… This will take a while depending on your VPS. Содан кейін нұсқасын тексеру:


dnsdist -V

Мен үшін ол:


dnsdist 0.0.0.HEAD.gg27dd1e3 (Lua 5.2.4)
Enabled features: dns-over-tls(openssl) dnscrypt ebpf libsodium protobuf recvmmsg/sendmmsg systemd

Жарайды ма, кейбір жылдам конфигурацияларын қосып көрейік және оның қалай жұмыс істейтінін көру


mkdir /etc/dnsdist
cd /etc/dnsdist
wget -O "/tmp/dnsdist.zip" "https://blog.jazinbaz.in/download/2571/"
unzip /tmp/dnsdist.zip

systemctl daemon-reload
service dnsdist restart
service dnsdist status

Немесе жай ғана қолмен жерден конфигурациялық файлды жүктеу және оның мазмұнын көшіру dnsdist.conf.zip

Біз бұл қызмет істеп тұрғанын көру керек. қазір, шифрлау үшін қажетті болады кілттерін генерациялау мүмкіндік береді.

mkdir -p /var/lib/dnsdist
dnsdist -c 

generateDNSCryptProviderKeys("/var/lib/dnsdist/providerPublic.key", "/var/lib/dnsdist/providerPrivate.key")
sinceDate=os.time(os.date("!*t"))
expireDate=os.time({year=2100, month=0, day=1, hour=00, minute=00})
generateDNSCryptCertificate("/var/lib/dnsdist/providerPrivate.key", "/var/lib/dnsdist/resolver.cert", "/var/lib/dnsdist/resolver.key", 1, sinceDate, expireDate, VERSION1)
generateDNSCryptCertificate("/var/lib/dnsdist/providerPrivate.key", "/var/lib/dnsdist/resolver2.cert", "/var/lib/dnsdist/resolver2.key", 1, sinceDate, expireDate, VERSION2)

содан кейін, dnsdist консолінен Ctrl + C шығу басу арқылы және нақты Бірнеше Дербес бола қосу үшін оның конфигурациясы ашу. бірінші, Біздің қоғамдық IP мекенжайын анықтап көрейік. біз осы үшін Comand желісін пайдалануға болады, сондықтан біз салқын Linux шеберлері


wget -4 -qO- ifconfig.co
wget -6 -qO- ifconfig.co

Біз алады 2 IP мекен-жайы: V4 және V6 үшін. Әрине, Сіз тек IPv4 бойынша V6 және жұмысты өткізіп алады, ол біз үшін жеткілікті болып табылады.

Менің жағдайда, Мен IP мекенжайын алды 85.143.172.89. Сіз сондай-ақ ifconfig іске қосу арқылы сол IP алуға болады. Сіз NAT астында болса, Сіз сияқты IP оны тағайындау қажет 192.168.10.135 – for example. Ал содан кейін алға қалаған порттар (8443, 5353)

қазір, lets open the config file /etc/dnsdist/dnsdist.conf and find the line with “ipv4addr” and change the address here.

Then go to addDNSCryptBind… part at the end of the file and uncomment the ones with ipv4 in it so it will look like this

We’ve just removed ‘–‘ from the start of the strings to uncomment them. Сондай-ақ,, Бұл теңшеу өзгеруі жеткізуші аттары: these are “1.dnscrypt.mydomain.com” and same for other. ретінде Сіз қалдыруға болады, бұл ретте барлық жаман емес, және ол нақты домен атауы болуы жақсы, бірақ бұл нағыз домен атауы болуы тиіс емес,. Бұл, мысалы, себебі біз оны қалдырады. қазір, журналдарды көру үшін Ctrl + O Файлды сақтау және Ctrl + X шығу және қызмет тоқтату және оны қолмен іске қосу


service dnsdist stop
dnsdist -v --disable-syslog

Біз бұл OK болып табылады және ол біздің порттары тыңдайды деп қараңыз.

Жарайды ма, Тапсырманың бірінші жартысы орындалады. консоль жүгіру dnsdist қалдырыңыз, оны жаппасаңыз және өшіру интернетке кесіп емес,. қазір, провайдері қоғамдық кілтті білуге ​​мүмкіндік береді. мұны үшін, dnsdist іске консоль мынадай құқығы жазу

printDNSCryptProviderFingerprint("/var/lib/dnsdist/providerPublic.key")

Және бұл үшін ашық кілттер fingerpring көрсетеді

қазір, бұл саусақ қабылдауға және аралық сақтағышқа көшіріп, оны және сіздің VPS үшін SSH байланысы бар жаңа консоль терезесін ашу мүмкіндік береді (біз dnsdist жүгіру процесін тоқтату қажет емес, өйткені). Жаңа консолі, оң мынадай


fingerprint="DF76:2D34:2E3A:DFCE:6A68:B520:AF34:7D58:A203:0967:184D:2C95:F341:4204:77DC:4450"
fingerprint="${fingerprint//:}"; echo "${fingerprint,,}"

Әрине, Сіздің құны fingerpring ауыстыру. Бұл бізге нормаланған ауыстырылған төменгі регистр мәні береді. аралық сақтағышқа бұл көшіріңіз. For me it is “df762d342e3adfce6a68b520af347d58a2030967184d2c95f341420477dc4450”. болжай аласыз ретінде, we removed “:” character and lowercased the string, Міне бітті.

қазір, Осы серверге үшін DNS Stamp жасау кетейік. мұнда супер үлкен коммуналдық бетке өту https://dnscrypt.info/stamps/

Ал сіздің конфигурациясы мәндерді толтыру. Мен үшін бұл сияқты көрінетін болады

Ал енді snds сақтау://… server info stamp.

Мен үшін ол: sdns://AQYAAAAAAAAAEjg1LjE0My4xNzIuODk6ODQ0MyDfdi00LjrfzmpotSCvNH1YogMJZxhNLJXzQUIEd9xEUBcxLmRuc2NyeXB0Lm15ZG9tYWluLmNvbQ

Яғни Бірнеше V1 хаттама үшін конфигурация болды. шынында, бұл жеткілікті, бірақ біз нұсқасын хаттама пайдалану, әсіресе көздерден dnsdist жасалады 2. қазір, Бірнеше V2 үшін не істеу бірдей (портына 5353 Бұл жағдайда)

Бірнеше V2 үшін Маркалардың: sdns://AQYAAAAAAAAAEjg1LjE0My4xNzIuODk6NTM1MyDfdi00LjrfzmpotSCvNH1YogMJZxhNLJXzQUIEd9xEUBcyLmRuc2NyeXB0Lm15ZG9tYWluLmNvbQ

Бұл шын мәнінде, біз қажет қорытынды нәтижесі болып табылады. Бұл DNS Маркалардың біздің Атап DNS серверіне туралы ақпаратты шифрланады, біздің серверге қосылу үшін клиент жағында осы қосуға болады. Ол қауіпсіздік үшін, бірақ тек көндіруі үшін шифрланған жоқ,, QR Code бірдей, бірақ DNS сервері үшін. Жарайды ма, Бірнеше сервер конфигурациясы аяқталды. кейбір клиенттік бағдарламалық біздің Бірнеше сервер тексеру болсын.

Тек сіз төмендегі кейбір клиентпен сіздің сервер тексерді кезінде, ол консолі оны іске қосу үшін қажет емес,. бұрын сіздің VPS өтіңіз және Ctrl + C басу арқылы процесін тоқтату. содан кейін, тұрақты Бұл қызметті қосу


systemctl enable dnsdist
systemctl restart dnsdist
systemctl status dnsdist

Ол фондық режимде жұмыс істейтін болады, сондықтан Сіз өз SSH қосылымды және жақын Putty терезені жабуға болады.

Кеңейтілген теңшелім

  • Жақында шығады: домен TXT жазбаларын орнату
  • Жақында шығады: қосу IPv6

Windows үшін Бірнеше клиентін орнату

Біз кеңінен тым Linux бойынша пайдаланылатын Бірнеше жалпы көшбасшы бағдарламасын пайдалануға болады: Бірнеше Прокси. оны орнату үшін проблема емес болып табылады және ол барлық қиын емес, сондықтан, бұл қазірдің өзінде Win32 және Win64 үшін жасалады. Біз барлық қоғамдық шешуші пайдалануға оны орнату болады. біздің таңдамалы DNS серверін пайдалану үшін, Linux үшін Бірнеше прокси теңшеу тексеру.

Бастайық. Сіздің жүйесі үшін қажетті нұсқасын жүктеп алу (x64 немесе x32) лауазымды соңғы босату GitHub бет. Егер сіз жүйелік x64 немесе x32 болса сенімді болмасаңыз, жүктеу x32 нұсқасы. Мен x64 жүйесі бар, бірақ мен дәл қазір сол жасаймыз. Мен деп аталатын файлды жүктеп болады dnscrypt-proxy-win32-2.0.22.zip (Сіз тым жерден жүктеп алуға болады). Енді жүктелген файлды іздеп көрейік.

Ал мұнда, мен бар қандай. Бұл файлды сіріндісі. бірақ алдымен, 7zip жүктеп мен бар бірдей мәзірлерді болуы оны орнату. Неге жоқ WinRar? Жарайды ма, проблема жоқ, 7zip өте көп бірдей тегін және жасайды, бірақ, бірақ, ол тегін емес. ол барлық үшін тегін болып табылады Мен 7zip пайдалануға болады.

Жарайды ма, қазір біз қалталарды өндірді қойды. Сондықтан біз Бірнеше-прокси-BLABLA атты қалта бар

ұқыпты және жақсы болуы үшін оны қайта атау: Бірнеше-прокси

қазір, Менің компьютерлік өтіңіз>Диск C және Құралдар есімді қалтаны жасау. Біз бұл үшін әкімші құқықтары бар тура келеді. Move our dnscrypt-proxy folder into this Tools folder so it will be “Tools->dnscrypt-proxy”

қазір, rename the file “example-dnscrypt-proxy.toml” to “dnscrypt-proxy.toml” and open it in text editor, Мен сізге орнатуды ұсынамыз Notepad ++. Бұл терезелерде Notepad ауыстыру үшін ең үздік болып табылады және, мүмкін, бір күні Microsoft Windows орнына осы stupud Блокнот оны қамтитын болады (Кешіріңіз, Microsoft).

Қалыпты, бұл жерде ештеңе істеу қажет емес. Егер сіз қаласаңыз, кейбір өзгерістер жасау, оны сақтауға және дәл осы файл ұқсайды қандай көзқараспен және оны жабыңыз. қазір, Бірнеше прокси қызмет орнату мүмкіндік береді. There is a file named “service-install.bat”. Сіз Әкімші ретінде оны іске қосу үшін бар.

ашылды жаңа консоль терезесін болады. жоқ қателер және жақын бар-жоғын тексеріңіз.

солай, now run the second file “service-restart.bat” also As Administrator.

қызмет тоқтатылған болуы мүмкін емес, бірақ бұл OK екенін ескерту бар. Қызмет орнатылған және ол керек-ақ орнатылған болуы керек. Press Start button and open command line by searching for “cmd”

Type “control” and press Enter

басқару панелі ашылады. Интернет және Networks санатын табу

Now choose “Change adapter parameters”

Ал тізімде сіздің негізгі желілік адаптерді таңдаңыз (ол интернетке қосылған). Егер сіз WiFi болса, бұл соншалықты таңдаңыз WiFi адаптерін болады

Және ашық опциялары. Choose from the list “ipv version 4” and press “Options”

Қазір мұнда барлық ұпай сақтау және шығу. барлық терезелерді жабыңыз және браузерде кейбір беттерін ашып көріңіз. ол әдеттегідей жұмыс істейді, онда, the setup has been done and you have now secured your dns requests.

For ipv6 set your DNS server under the “IP Version 6” to “::1. сіз оны қолданбасаңыз,, бұл қажет емес.

Android үшін Бірнеше клиентін орнату (Adguard)

жүктеу Adguard және сіздің ұялы құрылғыда орнату. Баптау- өтіңіз>DNS сүзу және осы мүмкіндікті қосу. The down below there is “Select DNS server”. оған түртіңіз және DNS серверін қосу үшін түймелерді көруге төменгі дейін жылжыңыз. Мұнда біз не істеп жатқандарын көру үшін кейбір суреттер:

қазір, Хаттаманы V2 үшін мөрі алайық және оны тексеру.

Choose “Add custom DNS Server” and paste the sdns://… stuff here. Біз бұл түрі суретті көресіз:

Press “Save and enable” and then check logs on server side:

солай, Көріп ретінде, нұсқасы хаттама 2 үлкен жұмыс істейді.

Linux туралы Бірнеше клиентті орнату

Жақында шығады

Apple Mac OS X туралы Бірнеше клиентті орнату

Жақында шығады

Apple түйініне бойынша Бірнеше клиентті орнату

Жақында шығады

Exit mobile version