Установка кэширующего dns сервера под windows. Настройка кеширующего DNS сервера (BIND) для локальной сети

С каждым годом скорость интернета - как последней мили, так и магистральных каналов становится все выше. Лишь одно неизменно - латентность уже уперлась в физические ограничения: скорость света в оптоволокне - около 200тыс километров в секунду, и соответственно, быстрее чем за ~150ms ответ от сервера через атлантический океан не получить в обозримой перспективе (хотя конечно есть изыски, вроде оптоволокна с воздушной сердцевиной или радиорелейной связи, но это для простых смертных едва-ли доступно).

Когда мы пытаемся например из России открыть web-сайт, расположенный в США (его NS сервера вероятно там же), и домен не нашелся в DNS-кэше вашего провайдера - то ждать придется долго даже на гигабитном интернете, возможно даже целую секунду: пока мы через океан получим имена NS серверов домена, пока разрезолвим их IP, пока отправим и получим собственно сам DNS запрос…

Пару лет назад Google завела свои публичные DNS сервера, а для агитации перехода на них - они разработали утилитку NameBench , которая прогоняет тесты DNS по вашей истории серфинга и показывает, насколько Google DNS быстрее DNS сервера вашего провайдера.

Но мне удалось сделать свой DNS сервер, который работает быстрее Google Public DNS, и в этой краткой заметке хочу поделится результатами.

PDNSD

pdnsd - кэширующий DNS proxy. Помимо банального кэширования DNS запросов (с возможностью жестко задавать минимальный TTL - может быть нужно на очень плохом интернете), он умеет отсылать запрос одновременно на несколько «родительских» DNS серверов, и отдавать клиенту первый вернувшийся ответ.

Именно включение параллельного опроса и дает нам основное преимущество в скорости , т.к. при нахождении результата в кеше любого из провайдеров мы получаем результат очень быстро, и не ждем полного и медленного разресолвивания если у первого провайдера нет ответа в кэше.

Ставится в Ubuntu - банальным apt-get.

Пара моментов в конфиге

global { perm_cache=10240; //Максимальный размер кэша в килобайтах. //По дефолту было 1024, все записи у меня не влазили. cache_dir="/var/cache/pdnsd"; [...] min_ttl=60m; // Минимальное время сохранения записи в кэше. //Даже если TTL придет меньше 60минут - будет 60минут max_ttl=1w; // Максимальное время сохранения записи в кэше neg_ttl=5m; //Время кеширования отрицательных ответов (т.е. если домен не найден) [..] par_queries=3; //Количество одновременно опрашиваемых "родительских" DNS серверов } server { label = "main"; ip = 85.21.192.5 //Тут 4 сервера, если первые 3 не ответят, то будет отправлен запрос на 4-й, 213.234.192.7 //Первые 2 сервера - это сервер вашего провайдера, и какого-нибудь соседнего, 8.8.4.4 //Это Google Public DNS - у них закэшировано все редкое и резолвят они быстро, 8.8.8.8 ; [..] }

В принципе, кэширование можно сделать менее агрессивным (min_ttl=1m например), но за год работы проблем особых не возникло. В случае проблем - при желании можно вытереть одну запись из кэша:
sudo pdnsd-ctl record 3.14.by delete или сразу все:
sudo pdnsd-ctl empty-cache

Результаты тестирования в NameBench



Видим, что для 50% запросов ответ мы получаем менее чем за 10мс, для 85% быстрее Google Public DNS, ну а дальше результаты естественно совпадают с гуглом.

По результатам тестов NameBench нам радостно сообщает:

8.8.8.8 Slower replica of SYS-192.167.0.98 8.8.4.4 Slower replica of SYS-192.167.0.98

Таким образом, умный кэширующий DNS прокси с параллельными запросами - позволяет ускорить даже 100-мегабитный интернет. А уж для медленных (радио)линков с большой латентностью и потерей пакетов - и вовсе разница может быть как между небом и землей.

Назначение DNS это перевод доменных имен, легко запоминаемых человеком в IP адреса которые понимают компьютеры, этот процесс называется-Разрешение имен. Что нам даст установка собственного кеширующего DNS сервера? Это немного ускорит отклик сайтов + Linux не очень хорошо воспринимает имена NetBios, а ведь иногда приходится находить компьютеры или принтеры внутри локальной сети, а хочется это делать по именам.

Запоминать IP адреса- не удобно, а постоянно лазить к журнал работы DHCP сервера- тоже не наш метод. Вот для таких случаев и нужен DNS в локальной сети. Сама установка пакета bind9 не отличается сложностью, затыки, обычно возникают на стадии его конфигурирования, т.к. после легко читаемых конфигурационных файлов системы, на человека сваливается непонятный синтаксис, кстати, очень похожий на язык программирования С. Т.к. сервер будет работать внутри локальной сети, то не имеет смысла переносить его в chroot окружение и вся настройка занимает совсем немного времени. На этом, лирическую часть, можно завершить, переходим к установке и настройке.

Установим DNS сервер Bind9:

# apt - get install bind9

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

# vim / etc / bind / named . conf . options

Находим секцию, она находится в самом начале конфигурационного файла, кроме нее там больше ничего нет…

options { directory "/var/cache/bind" ; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0"s placeholder. // forwarders { // 0.0.0.0; // }; auth - nxdomain no ; # conform to RFC1035 listen - on - v6 { any ; }; };

Секция forwarders, отвечает за то, куда будет передаваться DNS запрос на разрешение имени, в случае если его нет в собственной базе. Последнее время меня совсем не радует, работа этих серверов у провайдера по этому можно подключить сторонние например гугловские, запомнить IP очень легко 8.8.8.8, на его примере я и буду вести настройку, но никто не мешает использовать, те что вам нравятся больше.

Редактируем секцию, для начала с нее нужно снять комментарии и добавить сторонние DNS, если есть необходимость добавить несколько серверов, например на тот случай если сервер google не выдержит ваших запросов и поломается:), то IP других серверов можно написать в столбик, тогда можно добиться более значительной отказоустойчивости.

forwarders { 8.8.8.8 ; 193.58.251.251 ; //Российская служба DNS -SkyDNS };

В эту секцию лучше вписать IP того сервера который у вас указан в файле /etc/resolv.conf или вписать туда в секциюnameserver этот IP. Сохраняем изменения и выходим. Перезапускаем сервер и проверяем. Набираем в командной строке nslookup mail.ru
Должно выдать:

Non - authoritative answer : Name : mail . ru Addresses : 94.100.191.202

Это говорит о том, что наш сервер не является, главным в обслуживании этой зоны (mail.ru), но запросы добавил в кеш!
Теперь нужно создать ДНС зону для нашей сети чтобы машины могли находить различные сетевые сервисы - могут быть, например, сетевые принтеры, они могут быть как самостоятельными так и расшаренными на других рабочих станциях.
Нашу зону можно назвать orgname –т.е. название организации.
Первым делом создаем зону, для этого отредактируем named.conf.local

# vim / etc / bind / named . conf . local

и добавим в него следующее:

zone "orgname" { type master ; file "/etc/bind/db.orgname" ; };

Сохраняем и выходим
Теперь нам необходимо создать файл настройки зоны

# vim / etc / bind / db . orgname

и вставляем в него следующее:
(Прошу отнестись внимательно к синтаксису конфигурационного файла, даже точки имеют значение)

@ IN SOA orgname . root . orgname . (20101015 4h ; время обновления - 4 часа 1h ; повтор каждый час 1w ; как долго хранить информацию - 1 неделю 1d ) ; TTL (время жизни ) записи - 1 день @ IN NS orgname . ; имя сервера имен @ IN A 192.168.10.1 ; A - запись - IP адрес нашего ДНС сервера который обслуживает эту зону, @ означает что это корневая зона. * IN CNAME @ printer IN A 192.168.10.25 ; Можно создать ДНС запись сетевого принтера который находится по адресу 192.168.10.25

Теперь, при добавлении нового сетевого устройства, вам необходимо сделать 2 вещи:
1) Зарезервировать IP адрес на DHCP сервере, о том, как это сделать, можно прочитать в статье- Настройка DHCP сервера
2) Создать DNS зону для этого IP, вида devicename IN A XXX.XXX.XXX.XXX. Где: devicename-сетевое имя устройства; XXX.XXX.XXX.XXX-его IP адрес который зарезервирован на DHCP сервере.

теперь нам необходимо отредактировать файл resolv.conf

# vim / etc / resolv . conf

и вписать туда:

nameserver 127.0.0.1

все что там было можно закоментировать поставив #
перезапускам сервер

# reboot

Сделано это для того чтобы сервер искал все в собственной базе, а уже потом BIND будет перенаправлять запросы к серверу 8.8.8.8 IP которого вписан в директиве forwarders .
Теперь можно проверять работоспособность:
Если тестирование происходит из под Windows:

ping devicename . orgname

Если тестируем из под Linux:

ping devicename . orgname - c 4

Должны пойти пинги на тот IP который вы указали вместо XXX.XXX.XXX.XXX

Можно так же проверять скорость обработки запросов коммандой dig

# dig @127.0.0.1 tut.by ; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> @127.0.0.1 tut.by ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63893 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;tut.by. IN A ;; ANSWER SECTION: tut.by. 103 IN A 178.172.160.5 tut.by. 103 IN A 178.172.160.4 tut.by. 103 IN A 178.172.160.2 tut.by. 103 IN A 178.172.160.3 ;; AUTHORITY SECTION: . 6029 IN NS i.root-servers.net. . 6029 IN NS b.root-servers.net. . 6029 IN NS m.root-servers.net. . 6029 IN NS k.root-servers.net. . 6029 IN NS e.root-servers.net. . 6029 IN NS d.root-servers.net. . 6029 IN NS j.root-servers.net. . 6029 IN NS g.root-servers.net. . 6029 IN NS l.root-servers.net. . 6029 IN NS f.root-servers.net. . 6029 IN NS h.root-servers.net. . 6029 IN NS a.root-servers.net. . 6029 IN NS c.root-servers.net. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Mar 22 16:46:24 MSK 2016 ;; MSG SIZE rcvd: 310

К эш DNS – это временная база данных, в которой хранится информация о предыдущих поисках DNS. Другими словами, всякий раз, когда вы посещаете веб-сайт, ваша ОС и веб-браузер будут вести учет домена и соответствующего IP-адреса. Это исключает необходимость повторяющихся запросов к удаленным DNS-серверам и позволяет вашей ОС или браузеру быстро разрешать URL-адреса веб-сайта.

Однако в некоторых ситуациях, таких как устранение неполадок в сети или после смены преобразователей DNS, вам необходимо очистить кэш DNS. Это очистит кэшированные записи DNS и выполнит последующий поиск для разрешения домена на основе вновь настроенных параметров DNS.

В этой статье приведены инструкции по очистке кеша DNS в разных операционных системах и веб-браузерах.

Очистить/удалить кэш DNS в Windows

Процесс очистки DNS-кэша одинаков для всех версий Windows. Вам нужно открыть командную строку с правами администратора и запустить ipconfig /flushdns.

Windows 10 и Windows 8

Чтобы очистить кэш DNS в Windows 10 и 8, выполните следующие действия:

  1. Введите cmd в строке поиска Windows.
  2. ipconfig /flushdns

    Windows 7

    Чтобы очистить кэш DNS в Windows 7, выполните следующие действия:

    1. Нажмите на кнопку Пуск.
    2. Введите cmd в текстовое поле поиска меню «Пуск».
    3. Щелкните правой кнопкой мыши на командной строке и выберите Запуск от имени администратора. Это откроет окно командной строки.
    4. В командной строке введите следующую строку и нажмите Enter:

      ipconfig /flushdns

      В случае успеха система вернет следующее сообщение:

      Windows IP Configuration Successfully flushed the DNS Resolver Cache.

    Очистить/удалить кэш DNS в Linux

    В Linux отсутствует кэширование DNS на уровне ОС, если не установлена ​​и не запущена служба кэширования, такая как Systemd-Resolved, DNSMasq или Nscd. Процесс очистки DNS-кэша отличается в зависимости от дистрибутива и службы кэширования, которую вы используете.

    Systemd Resolved

    В большинстве современных дистрибутивов Linux, таких как , используется системный разрешенный сервис для кэширования записей DNS.

    Чтобы узнать, запущена ли служба, выполните:

    sudo systemctl is-active systemd-resolved.service

    Если служба работает, команда напечатает active, иначе вы увидите inactive.

    Чтобы очистить DNS-кэш Systemd Resolved, вы должны ввести следующую команду.

    sudo systemd-resolve --flush-caches

    В случае успеха команда не возвращает никакого сообщения.

    Dnsmasq

    Dnsmasq – это облегченный сервер кэширования имен DHCP и DNS.

    Если ваша система использует DNSMasq в качестве сервера кеширования, для очистки кеша DNS вам необходимо перезапустить службу Dnsmasq:

    sudo systemctl restart dnsmasq.service

    sudo service dnsmasq restart

    Nscd

    Nscd – это демон кэширования, и он является предпочтительной системой кэширования DNS для большинства дистрибутивов на основе RedHat.

    Если ваша система использует Nscd, для очистки кеша DNS вам необходимо перезапустить службу Nscd:

    sudo systemctl restart nscd.service

    sudo service nscd restart

    Очистить/удалить кэш DNS на MacOS

    Команда очистки кэша в MacOS немного отличается в зависимости от используемой версии. Команда должна быть запущена как пользователь с правами системного администратора (пользователь sudo).

    Чтобы очистить кэш DNS в MacOS, выполните следующие действия:

    1. Откройте Finder.
    2. Перейдите в Приложения> Утилиты> Терминал. Это откроет окно терминала.
    3. В командной строке введите следующую строку и нажмите Enter:

      sudo killall -HUP mDNSResponder

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

    Для более ранних версий MacOS команда очистки кэша отличается.

    MacOS версии 10.11 и 10.9

    sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

    MacOS версия 10.10

    sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcaches

    MacOS версии 10.6 и 10.5

    sudo dscacheutil -flushcache

    Очистить /удалить кэш DNS браузера

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

    Google Chrome

    Чтобы очистить DNS-кеш Google Chrome, выполните следующие действия:

    1. Откройте новую вкладку и введите в адресную строку Chrome: chrome://net-internals/#dns.
    2. Нажмите кнопку «Очистить кэш хоста».

    Если это не работает для вас, попробуйте очистить кэш и куки.

    1. Нажмите, CTRL+Shift+Del чтобы открыть диалоговое окно «Очистить данные просмотра».
    2. Выберите диапазон времени. Выберите «Все время», чтобы удалить все.
    3. Установите флажки «Файлы cookie и другие данные сайта» и «Кэшированные изображения и файлы».
    4. Нажмите кнопку «Очистить данные».

    Этот метод должен работать для всех браузеров на основе Chrome, включая Chromium, Vivaldi и Opera.

    FireFox

    Чтобы очистить DNS-кэш Firefox, выполните следующие действия:

    1. В верхнем правом углу щелкните значок гамбургера, ☰чтобы открыть меню Firefox:
    2. Нажмите на ⚙ Options (Preferences)ссылку.
    3. Нажмите на вкладку «Конфиденциальность и безопасность» или «Конфиденциальность» слева.
    4. Прокрутите вниз до Historyраздела и нажмите на Clear History…кнопку.
    5. Выберите временной диапазон, чтобы очистить. Выберите «Все», чтобы удалить все.
    6. Выберите все поля и нажмите «Очистить сейчас».

    Если это не работает для вас, попробуйте следующий метод и временно отключите кэш DNS.

    1. Откройте новую вкладку и введите about:configв адресную строку Firefox.
    2. Найдите network.dnsCacheExpiration, временно установите значение 0 и нажмите ОК. После этого измените значение по умолчанию и нажмите ОК.
    3. Найдите network.dnsCacheEntries, временно установите значение 0 и нажмите ОК. После этого измените значение по умолчанию и нажмите ОК.

    Заключение

    Вы узнали, как очистить или очистить кэш DNS в операционных системах Windows, Linux и MacOS.

    Linux и MacOS могут использовать команду dig для запроса DNS и устранения проблем с DNS.

    Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Внимание

Для корректной установки и настройки dnsmasq, перейдите в сеанс cуперпользователя:

На запрос пароля, введите пароль привилегированного пользователя или локального администратора.

DNS — кэш предназначен для ускорения загрузки страниц веб-сайтов, путем сохранения в памяти их IP-адресов. Для настройки кэширования используйте утилиту dnsmasq .

Yum install dnsmasq

С помощью текстового редактора vi или nano откройте файл, расположенный по адресу /etc/dnsmasq.conf

Vi /etc/dnsmasq.conf

Nano /etc/dnsmasq.conf

Отредактируйте следующие параметры:

Resolv-file=/etc/resolv.dnsmasq no-poll listen-address=127.0.0.1 cache-size=150 conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig

А так же допишите следующий параметр:

All-servers

  • resolv-file - файл с IP-адресами dns — серверов
  • no-poll - параметр, запрещающий автоматическое применение изменений в файлах с именем resolv.
  • listen-address - параметр, указывающий какой адрес слушать.
  • cache-size - размер кэша. Значение по умолчанию позволяет хранить 150 хостов.
  • c onf-dir - параметр, отвечающий за дополнительный файл конфигурации.
  • all-servers - перенаправляет dns-запрос всем доступным dns-серверам и возвращает ответ от первого откликнувшегося сервера. Параметр нужно записать вручную.

Также можно указать следующие параметры:

  • no-negcache - не кэшировать негативные ответы от серверов.
  • b ind-interface s - позволяет запускать копии процесса.
  • d ns-forward-max - максимальное количество dns-запросов. По умолчанию - 150. Параметр нужно записать вручную.

Теперь создайте файл resolv.dnsmasq с помощью текстового редактора vi или nano и запишите туда адреса dns-серверов.

Vi /etc/resolv.dnsmasq

Nano /etc/resolv.dnsmasq

Потом добавьте IP-адрес 127.0.0.1 в файл resolv.conf . Для этого, используйте утилиту «Сетевые соединения» , расположенную в «Меню» → «Параметры» → «Сетевые соединения» в графическом окружении Cinnamon или «Система» → «Параметры» → «Сетевые соединения» в графическом окружении Mate . Выберите ваше активное подключение, нажмите кнопку «Изменить», перейдите на вкладку «Параметры IPv4» , поменяйте «Метод» на «Автоматический (DHCP, только адресс)» , а в поле «Дополнительные серверы DNS » напишите адрес 127.0.0.1 , нажмите применить и перезапустите NetworManager.

Редактирование файла resolv.conf с помошь текстовых редакторов не рекомендуется. Файл перезапишется со следующим перезапуском системы.

Systemctl restart NetworkManager.service

Чтобы убедиться, что изменения вступили в силу, посмотрите содержимое файла resolv.conf :

Cat /etc/resolv.conf

Содержимое должно быть таким:

# Generated by NetworkManager nameserver 127.0.0.1

Описанные выше операции позволят перенаправлять все dns-запросы на локальную машину.

Добавьте службу dnsmasq в автозапуск и перезайдите в сеанс:

Systemctl enable dnsmasq.service --now

Для того, чтобы сбросить кэш, просто перезапустите службу:

Systemctl restart dnsmasq.service

Проверка работоспособности

Проверьте, включена ли служба:

Systemctl status dnsmasq.service

Проверьте порт 53:

Netstat -ntlp | grep:53 tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 7319/dnsmasq tcp6 0 0:::53:::* LISTEN 7319/dnsmasq

Теперь попробуйте с помощью утилиты dig несколько раз обратиться к cайту google.com

Dig google.com | grep "Query time" ;; Query time: 135 msec

Если кэширование dns-запросов работает, то практически во всех следующих запросах выделенная строчка query time будет равна нулю.

;; Query time: 0 msec

В противном случае она будет варьироваться от 0 и выше с каждым новым запросом.

В результате, основной DNS-сервер сети будет испытывать гораздо меньше нагрузки.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter .

Для ускорения просмотра веб страниц операционная система Windows кэширует ответы DNS серверов. Сразу после прихода ответа на определение числового по с сервера DNS, Windows автоматически помещает этот адрес в локальное хранилище. Когда браузер запрашивает адрес по URL, Windows вначале ищет его в хранилище, и, если находит его, то сразу же возвращает результат, не обращаясь к DNS серверам интернет провайдера. Локальный кэш увеличивает скорость работы и экономит трафик.

Очистка локального DNS кэша

Если при хранении адреса в локальном хранилище информация будет повреждена или изменится IP-адрес, браузер не сможет открыть сайт. Подобное случается не так часто. К счастью, существует способ очистить локальный кэш для мгновенного решения возникшей проблемы.

В ОС Windows имеется инструмент ipconfig , у которого имеется опция /flushdns для очистки всех закэшированных записей. Если требуется очистить локальный кэш, то в окне командной строки (Пуск Программы (Все программы) — Стандартные Командная строка ) следует ввести команду ipconfig /flushdns и нажать клавишу Enter.

Для просмотра всех записей DNS в локальном хранилище можно воспользоваться опцией /displaydns команды ipconfig . Для этого в окне командной строки необходимо ввести команду ipconfig / displaydns и нажать клавишу Enter. В окне появятся все записи закэшированных ответов DNS.

Настройка времени хранения кэша

Обычно Windows хранит адреса не более 86400 секунд (1 сутки), но время хранения можно ограничить другим пределом. Для этого необходимо открыть редактор реестра (в командной строке ввести команду regedit и нажать Enter). В левой области редактора имеется дерево ключей реестра, которое похоже на папки жесткого диска. В этом дереве нажимая на соответствующие иконки раскрытия папок (знак плюс) следует открыть путь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters , после чего в этом дереве установить курсор на папку Parameters . В правой области редактора реестра появится содержимое данного ключа (папки).

Значение DWORD параметра MaxCacheTtl указывает ограничения времени хранения ответов в секундах. Его можно изменить на любое другое. Если параметра MaxCacheTtl нет, значит установлено стандартный предел равный 86400 секундам. Для его изменения следует создать параметр MaxCacheTtl типа DWORD со значением равным требуемому пределу. Параметр MaxCacheTtl ограничивает только время хранения положительных ответов, т. е. когда удалось определить ip-адрес по доменному имени.

Если DNS сервер провайдера вернул отрицательный ответ (не смог определить адрес), он тоже сохраняется в локальном хранилище. Обычно такой ответ хранится на протяжении 15 минут. Это значит, что если во время посещения сайта, не удалось определить его ip-адрес, сайт будет невозможно посетить в течении 15 минут, даже, если он станет доступен в течении этого времени. Чтобы этого избежать, следует уменьшить время хранения отрицательных ответов или вовсе отключить их хранения. Чтобы задать время хранения следует скорректировать (или создать, если отсутствует) DWORD параметр MaxNegativeCacheTtl , который ограничивает предельное время хранения отрицательных ответов. Для отключения их хранения достаточно выставить нулевое время хранения.

Временное отключение кэширования DNS ответов

Если требуется на время отключить кэширование адресов в локальном хранилище, необходимо в командной строке ввести команду net stop dnscache (или sc stop dnscache ) и нажать Enter. Для обратного включения следует в командной строке ввести команду net start dnscache (или sc start dnscache) и нажать Enter, либо перезагрузить компьютер.



В продолжение темы:
Android

Популярная социальная сеть ВКонтакте позволяет находить новых друзей и держать контакт со всеми близкими. Помимо этого, каждый пользователь может делиться собственными...