Быстрая настройка VPN-соединения в Debian/Ubuntu

Дано:

  • Адрес VPN-сервера  — remote.host.ru
  • Имя пользователя  — user29
  • Пароль — h6f0ksf
  • Адрес подсети, которую подключаем — 192.168.9.0/24
  • Адрес машины в подсети, для подключения — 192.168.9.125
  • Ssh-пользователь — user32@192.168.9.125
  • пароль от ssh пользователя — ******

Требуется:

Поднять VPN-туннель и сделать доступной для машины подсеть 192.168.9.0/24 и подключиться к  user32@192.168.9.125 по ssh

Continue reading


Поднятие IPv6 сетевого интерфейса на Debian/Ubuntu в облачном сервере компании Selectel

Пусть в информации о сервере даны следующие параметры IPv6 сети

Доступный диапазон IPv6-адресов: 2a00:ab00:107:46:182:24:54:0000 — 2a00:ab00:107:46:182:24:54:FFFF

Маска: /48

Шлюз: 2a00:ab00:107::1

Тогда в консоли надо выполнить следующее:

# ip -6 addr add 2a00:ab00:107:46:182:24:54:1/48 dev eth0
# ip -6 route add ::/0 via 2a00:ab00:107::1 dev eth0


Сохранение видео с youtube в Debian/Ubuntu.

Наиболее адекватная утилита из тех что я нашел — это clive

Ставится как обычно

sudo apt-get install clive

Синтаксис тоже весьма незамысловатый

$ clive -O "rock_terrible.flv" "https://www.youtube.com/watch?v=dRmbIjf-FfA"

После чего появится монитор прогресса и видео сохранится в «rock_terrible.flv»

 

Checking ...done.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 29.8M  100 29.8M    0     0   126k      0  0:04:02  0:04:02 --:--:--  164k

Как восстановить(сбросить) root(postgres) пароль для PostrgeSQL в Debian(Ubuntu)

Случалось ли вам забывать root-пароль от PostgreSQL-сервера? Если это произошло, вам необходимо сделать следующее(для Debian или Ubuntu, другие дистрибутивы Linux отличаются разве что расположением конфигов и скриптов запуска)
Continue reading


Скрипт определения какие сайты из списка отдаются с определённого сервера.

Задача такая. Есть файл domains.txt, куда выведен выхлоп команды

ls -1 /etc/apache2/sites-enabled/

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

Пишем небольшой скрипт domain_checker.pl

#!/usr/bin/perl
 
my @lines = ();
my $ip = $ARGV[0];
while(<STDIN>){
    chomp;
    @lines = `host $_`;
    chomp @lines;
    print $_."\n" if $lines[0]=~m/$_\s+has\s+address\s+$ip/i;
}

И пускаем его в таким образом

cat domains.txt | ./domain_checker.pl server_ip

А он нам выводит список доменов, отдающихся с этого сервера.

 


Простой шаблон конфига NDS-сервера BIND в Linux(Debian, Ubuntu)

Запись в списке поддерживаемых зон

zone "domain.ru." {
    type master;
    file "/etc/bind/domain.ru";
};

Пример файла зоны

 

$TTL 1d
@			IN SOA	ns domain (
			    2013030701; serial
		  	    1h	; refresh
			    1h	; retry
			    4w	; expire
			    30m	; minimum
		        )
			NS	ns1.domain.ru.
			NS	ns2.domain.ru.
@			A	89.108.120.42
 
www			CNAME domain.ru.
@			IN MX 10 mx.yandex.ru.

Скрипт, автоматизирующий создание виртуально хоста apache, сборку PHP как CGI+suexec и создание файла зоны DNS.

В статье установка нескольких версий PHP на один сервер (с помощью CGI и suexec) рассмотрена сборка и установка PHP в качестве CGI+suexec. Настало время объединить всё это в один скрипт, который

  1. Создаст нужные папки и симлинки
  2. Соберёт PHP из исходников
  3. Настроит виртуальный хост Apache, для работы с этим доменом
  4. Создаст файл зоны DNS для Bind

Админу остаётся только

  1. Обработать скрипт напильником для работы на своём сервере
  2. Создать пользователя, от которого будет запускаться php-скрипт.
  3. Запустить скрипт, исходники которого даны ниже в формате
    ./build_vh.sh {Имя домена} {Имя пользователя} {Алиас домена для тестирования}

 

Скачать исходник


Ежедневные, еженедельные и ежемесячные резервные копии(бэкапы) на FTP

Выкладываю написанный для конкретных целей perl-скрипт делающий резервные копии на FTP по следующему алгоритму

  1. В определённое время суток делаем архив указанных каталогов
  2. В определённый день недели копируем ежедневный архив, делая из него еженедельный
  3. В определённый день месяца копируем ежедневный архив, делая з него ежемесячный
  4. Сравниваем состав локального хранилища и хранилища на ФТП, по необходимости закачивая на FTP отсутствующие архивы

Continue reading


Простой шлюз на iptables для раздачи интернета с модемного соединения (ppp0) в Linux(Debian и Ubuntu).

В данной статье рассмотрен пример скрипта iptables для организации шлюза. Должен признать, что для организации совсем простого выхода в интернет через компьютер на Linux, подключенный к интернету через модемное соединение (например 3G модем) она содержит много лишнего и поначалу может запутать. Поэтому опишу совсем простой случай.
Continue reading


Подключение и использование disk.yandex(Яндекс Диск) в Linux(Ubuntu, Debian)

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

Пакет, небходимый для монтирования WebDAV к локальной файловой системе

apt-get install davfs2

Создаём каталог для монтирования

mkdir /mnt/yadisk

Прописываем правило для монтирования в /etc/fstab

Надо в /etc/fstab добавить

https://webdav.yandex.ru /mnt/yadisk davfs users,uid=1000,uid=1000,rw 0 0

параметр users тут означает, что имя пользователя и пароль будут браться из /etc/davfs2/secrets

Задаём имя пользователя и пароль для подключения

Добавляем в /etc/davfs2/secrets строчку

https://webdav.yandex.ru        your_username      *******

Монтируем

#mount -a

p.s. описан не совсем рабочий вариант, так как сеть поднимается, как правило, после монтирования дисков. Да исправит каждый по вкусу своему, кто на крон повесит, кто руками mount -a запустит