Создайте пользователя с именем, например, ca и перейдите в его домашний каталог:

# adduser ca
# su ca
$ cd ~

Создадим папку перейдем в нее и загрузим дистрибутив программы утилитой wget.

wget  https://github.com/OpenVPN/easy-rsa/archive/master.zip

После загрузки распакуйте архив master.zip:

$ unzip master.zip

переходим в каталог

cd easy-rsa-master/easyrsa3

Копируем файл настроек

cp vars.example vars

Открываем его для редактирования

mcedit ./vars
# меняем строки
set_var EASYRSA_KEY_SIZE  # Длинна ключа
set_var EASYRSA_CA_EXPIRE<----->3650 # Срок действия ключа в днях

# описание сертификатов по-умолчанию
set_var EASYRSA_REQ_COUNTRY<--->"RU"
set_var EASYRSA_REQ_PROVINCE<-->"RUS"
set_var EASYRSA_REQ_CITY<------>"Perm"
set_var EASYRSA_REQ_ORG>"Copyleft Certificate Co"
set_var EASYRSA_REQ_EMAIL<----->"admin@adminunix.ru"
set_var EASYRSA_REQ_OU<><------>"adminunix"

Создаем инфраструктуру публичных ключей (Public Key Infrastructure, PKI):

$ cd easy-rsa-master/easyrsa3
$ ./easyrsa init-pki

Видим следующее сообщение:

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /home/ca/easy-rsa-master/easyrsa3/pki

В результате выполнения команды init-pki был создан каталог /home/ca/easy-rsa-master/easyrsa3/pki, где и находится инфраструктура публичных ключей PKI.

Далее с помощью команды build-ca создайте удостоверяющий центр CA:

$ ./easyrsa build-ca

В ответ на эту команду вам будет предложено ввести пароль и так называемое имя Common Name:
Пароль будет защищать приватный ключ удостоверяющего центра, созданный в формате PEM (Privacy Enhancement for Internet Electronic Mail). Этот пароль потребуется каждый раз, когда вы будете подписывать в удостоверяющем центре сертификаты для серверов и клиентов.

Создание списка отзывов сертификатов

Если сотрудник уволился, необходимо заблокировать его доступ в сеть VPN компании. Специально для этой цели в OpenVPN предусмотрен список отзыва сертификатов CRL. Создайте его такой командой:

$ cd /home/ca/easy-rsa-master/easyrsa3
$ ./easyrsa gen-crl

У вас будет запрошен пароль доступа к приватному ключу ca.key удостоверяющего центра. Список отзыва сертификатов будет создан в файле /home/ca/easy-rsa-master/easyrsa3/pki/crl.pem.

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

wget -r -k -l 7 -p -E -nc http://example.ru/

Будет создана папка, одноименная сайту. Начинать его просматривать можно начать с index.html

Теперь расшифровка атрибутов:
— r — указывает на то, что нужно рекурсивно переходить по ссылкам на сайте, чтобы скачивать страницы.
— k — используется для того, чтобы wget преобразовал все ссылки в скаченных файлах таким образом, чтобы по ним можно было переходить на локальном компьютере (в автономном режиме).
— p — указывает на то, что нужно загрузить все файлы, которые требуются для отображения страниц (изображения, css и т.д.).
— l — определяет максимальную глубину вложенности страниц, которые wget должен скачать (по умолчанию значение равно 5, в примере мы установили 7). В большинстве случаев сайты имеют страницы с большой степенью вложенности и wget может просто «закопаться», скачивая новые страницы. Чтобы этого не произошло можно использовать параметр -l.
— E — добавлять к загруженным файлам расширение .html.
— nc — при использовании данного параметра существующие файлы не будут перезаписаны. Это удобно, когда нужно продолжить загрузку сайта, прерванную в предыдущий раз.

--user=login - указываем логин
--password='pass' указываем пароль
--save-cookies=cooke
-U "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5" -указание User Agent

P.S. wget — очень мощная утилита, её функционал можно долго изучать.

Данное сообщение не является ошибкой.

Такой строкой скрипт запуска MySQL рассказывает. что он:

  • Проверяет наличие поврежденный таблиц
  • Проверяет наличие не закрытых таблиц
  • Проверяет наличие не обновленных таблиц, если вы обновили версию MySQL.
принудительно проверить вcе таблицы для спокойствия
mysqlcheck --check-upgrade --all-databases --auto-repair -u root -p
mysql_upgrade --force -u root -p

For all you Ubuntu/MySQL developers out there, have you ever seen the following?

neo@thematrix:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld <strong>[fail]</strong>
* Starting MySQL database server mysqld [ OK ]
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: '<strong>Access denied for user 'debian-sys-maint'@'localhost'</strong> (using password: YES)'

So, what is this “debian-sys-maint” user?  Well, this MySQL user is created for the Ubuntu to be able to start/stop the database and to carry out other maintenance operations.

Sounds well enough, but then why do I keep running into the “access denied” problem for this user?  Well, the issue is that with each update to MySQL, the user’s password in the database is overwritten.  Ubuntu seems to go to the file/etc/mysql/debian.cnf in order to find this user’s password, but obviously the password is out of sync after the update has been applied.

As a result of this behaviour, I’ll run into the “access denied” problem every so often.  Thankfully, the solution to this issue is fairly simple.

First, list the contents of the /etc/mysql/debian.cnf file:

neo@thematrix:~$ sudo cat /etc/mysql/debian.cnf

The contents of the file should look something like the following:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
<strong>password = n4aSHUP04s1J32X5</strong>
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user     = debian-sys-maint
<strong>password = n4aSHUP04s1J32X5</strong>
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

See that password?  That’s what we’re looking for!

Next, we want to issue a command to MySQL that tells it to grant the debian-sys-maint user all necessary privileges using the new password.

Login to your mysql server using your root account and the root password you had originally set:

neo@thematrix:~$ mysql -u root -p <password>

Issue the GRANT command now to grant those permissions:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'n4aSHUP04s1J32X5';

Voila!  If you restart MySQL, you’ll find that you should no longer be getting the “access denied” error message.

neo@thematrix:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.

Bear in mind, because we just switched the password, and the change hasn’t been affected yet, you may need to kill the MySQL server processes in order to get MySQL to shut down at all.

1

Для того чтобы настроить  время и  часовой пояс в  Debian запускаем команду

# dpkg-reconfigure tzdata

В открывшемся меню выбираем географический район (Европа)

 

Далее выбираем город (Москва)

sity

 

После чего промеряем текущую дату и время

# date

 

 

Ставим Unbound:

sudo apt-get install unbound

После установки перечитываем конфигурационный файл

cat /etc/unbound/unbound.conf

если та есть строка

include: "/etc/unbound/unbound.conf.d/*.conf"

то добавляем новый файл конфигурации

# mcedit  /etc/unbound/unbound.conf.d/local.conf

со следующим содержимым:

server:
# Порт - естественно 53
port: 53
# Степень вывода логов (1-4, при уровне 4 в логи будет попадать вся отладочная информация,
# при уровне 1 - только сообщения об ошибках)
verbosity: 0
# Количество потоков. Рекомендуется ставить равным числу ядер процессора
num-threads: 2
# Подстроим параметры кэша и время жизни:
# Число открываемых портов и запросов на нить
outgoing-range: 512
num-queries-per-thread: 1024
# Задаем размеры кэша сообщений и RRset
msg-cache-size: 16m
rrset-cache-size: 32m
# Задаем время жизни записей в кэше, записи о хосте, время ожидания ответа
cache-max-ttl: 86400
infra-host-ttl: 60
infra-lame-ttl: 120
# Описываем интерфейсы для прослушивания
interface: 127.0.0.1
interface: 192.168.0.3
# ip адрес интерфейса, который подключен к интернет
outgoing-interface: 192.168.0.3
#  Разрешаем любые запросы к ДНС из локалки
access-control: 192.168.0.0/24 allow
# разрешаем  ip4/tcp/udp, запрещаем поддержку ipv6
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
# От чьего имени работает daemon unbound, каталог конфигурации, куда класть логи, где pid
username: unbound
directory: "/etc/unbound"
logfile: "/var/log/unbound.log"
use-syslog: no
# не говорить при запросах версию ПО, мало ли что придумают кулхацкеры
hide-version: yes
# Опишем нашу локальную сеть
local-zone: "192.in-addr.arpa." static
local-data: "192.in-addr.arpa. 10800 IN NS adminunix.ru."
local-data: "192.in-addr.arpa. 10800 IN SOA adminunix.ru. admin.adminunix.ru. 1 3600 1200 604800 10800"
local-data: "119.0.168.192.in-addr.arpa. 10800 IN PTR adminunix.ru."
local-data: "adminunix.ru. 10800 IN A 192.168.0.3"
#
so-rcvbuf: 4m  # обьем буфера для приема   UDP пакетов (рекомендованное стартовое значение)
so-sndbuf: 4m  # обьем буфера для отправки UDP пакетов (рекомендованное стартовое значение)

Глядя на конфиг мы видим что все настройки хранятся в одном файле — на мой взгляд очень удобно. Кому мало информации man unbound.conf или гугл в помощь — функционал достаточно богатый, так что возможна очень детальная настройка. Сохраняем настройки и запускаем сервер

# service unbound start
# ps auxw | grep unbound
unbound   9307  0.0  0.1 122624  9272 ?        Ssl  20:05   0:00 /usr/sbin/unbound
root     10881  0.0  0.0  17184   936 pts/1    S+   22:25   0:00 grep --color=auto unbound
# netstat -anp | grep 53
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 9307/unbound
tcp 0 0 192.168.0.3:53 0.0.0.0:* LISTEN 9307/unbound

Добавляем правила для хождения запросов по 53 порту в файервол или правим существовавшие:

$IPT -A INPUT -m state --state NEW -p tcp -m tcp --dport 53 -j ACCEPT
$IPT -A INPUT -m state --state NEW -p udp -m udp --dport 53 -j ACCEPT

вот и все, теперь можно прописать  новый ДНС и пользоваться.

В релизе FreeBSD 10.0 DNS-сервер BIND заменен на связку из кеширующего DNS- сервера Unbound и библиотеки LDNS

Устанавливаем

pkg  install unbound

После создания конфигурационного файла проверим конфигурацию с помощью уже известной утилиты unbound-checkconf:

# unbound-checkconf
 unbound-checkconf: no errors in /var/unbound/unbound.conf

Кажется все в порядке. Добавим загрузку демона при старте системы:

# echo '# DNS server' >> /etc/rc.conf
# echo 'local_unbound_enable="YES"' >> /etc/rc.conf

Кажется ничего не пропустили... Даем команду на запуск:

# sh /etc/rc.d/local_unbound start
 Starting local_unbound.

Проверим, запустился ли процесс:

# ps -ax | grep unbound | grep -v grep
 2340  -  Is     0:00,03 /usr/sbin/unbound -c/var/unbound/unbound.conf