Определение момента, когда поднялся VPN тоннель

Определение момента, когда поднялся VPN тоннель
Здесь была первая версия скрипта
Она была с недочетом
Описание исправленной здесь

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/293021.html
Прокомментировать заметку можно по ссылке выше.

Информация о выделенном IP и шлюзе, еще вариант

Анон дельно подсказал еще один способ узнать выделенный IP и адрес шлюза VPN-тоннеля и настроить маршрутизацию. Создать скрипт /etc/ppp/ip-up (также есть варианты ip-pre-up и ip-down для соответствующих случаев), которому pppd в параметрах передает всю нужную информацию.
В некоторых дистрибьютивах исполняются не скрипты с указанными названиями, а скрипты из каталогов /etc/ppp/ip-up /etc/ppp/ip-pre-up /etc/ppp/ip-down. Мне сей способ не сильно удобен, т.к. скрипты запускаются при поднятии каждого тоннеля, соответственно, придется городить большой скрипт, определяющий какой именно тоннель поднялся, и какой маршрут прописать (и нет ли этого маршрута уже). Посему у себя я оставлю как было, но информация все-равно полезная, пусть лежит тут. Мало ли когда надо будет.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/291063.html
Прокомментировать заметку можно по ссылке выше.

Скрипт, для получения информации о выделенных ip и шлюзе и установки маршрутизации.

Преамбула.
Дело в том, что у меня на рабочем компьютере поднимаются сразу несколько VPN-тоннелей. Для работы, сразу с двумя офисами, здесь, в Италии, и до основного, два бесплатных VPN для разных Интернет-сервисов, один из которых должен предоставлять маршрут по умолчанию, местный тоннель (пофлудить на скрытом форуме). Для всего этого зоопарка заведены соответствующие таблицы маршрутизации в файле /etc/iproute2/rt_tables. Понятно, что после того, как тоннели поднялись, в соответствующие таблицы надо прописать соответствующие маршруты по умолчанию. DHCP в данном случае применим с огромным геморроем, маршруты надо прописывать вручную, но это тоже не менее геморройная задача, т.к. провайдеры иногда меняют шлюзы, я меняю провайдеров VPN, админы тоже могут изменить шлюз и/или выделенный IP. В общем, задолбало меня все руками перенастравивать и я решил написать скрипт, который это будет делать за меня. Заодно вспомнить bash, где знал, и узнать что-то новое, где не знал.
Будем исходить из того, что имеется уже поднятый VPN-тоннель и нам необходимо прописать в нужную таблицу нужный маршрут по-умолчанию.
Откуда взять нужные ip.
Из вывода команды ifconfig. В моей системе вывод ifconfig pppX, где X, номер соответствующего интерфейса ppp выглядит так:
ppp1: flags=4305 <UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
     inet x.x.x.x netmask 255.255.255.255 destination y.y.y.y
     ppp txqueuelen 3 (Point-to-Point Protocol)
     RX packets 2055 bytes 1502924 (1.4 MiB)
     RX errors 0 dropped 0 overruns 0 frame 0
     TX packets 1747 bytes 179542 (175.3 KiB)
     TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Где x.x.x.x – IP, присвоенный машине провайдером VPN, а y.y.y.y – IP шлюза провайдера, через который и должен пролегать маршрут.
Команды для установки маршрутизации
Команда добавления маршрута в соответствующую таблицу выглядит примерно так:
ip route add default dev имя_тоннеля via адрес_шлюза src адрес_машины table таблица
Например:
ip route add default dev ppp1 via 10.1.15.1 src 10.1.22.12 table suomi_office
Если таблица не указана (параметр table отсутствует), то маршрут будет установлен, как маршрут по умолчанию.
Обязательными параметрами в данном случае является указание на соответствующий шлюз (dev), остальные – дополнительные.
Для удаления маршрута по умолчанию используется команда:
ip route del default table таблица
или
ip route del default для удаления основного маршрута по-умолчанию.
Что должен делать скрипт
Основное:
1. Проверить, действительно ли поднят указанный интерфейс
2. Есть ли в файле /etc/iproute2/rt_tables соответствующая таблица маршрутизации, если таблица не указана – установить основной маршрут по умолчанию
3. Получить нужные IP
4. Вывести на экран summary – полученные IP и параметры.
5. Установить маршрутизацию, сообщив об успехе, либо ошибке
Дополнительно:
1. Проверить корректность заданных параметров
2. Вывести справку по собственным параметрам при наличии запроса, либо при запуске без параметров.
3. Иметь возможность указать или не указать необязательные параметры для команды маршрутизации.
Read more…
Приложение. Используемая литература и скрипт целиком.
1. Краткое описание команды if. Копия
2. Краткое описание команды awk Копия
3. Скрипт. Копия на pastebin.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/290649.html
Прокомментировать заметку можно по ссылке выше.

Задать номер в имени интерфейса ppp*

Это делается в конфигурационных файлах в /etc/ppp/peers для исходящих соединений, и в конфигурационном файле, путь к которому задан в /etc/pptpd.conf (параметр option /путь/к/файлу), для входящих соединений (pptp-сервера).
В вышеуказанные файлы нужно добавить параметр
unit номер
Например, если в конфигурационном файле содержится параметр unit 2 то при установке соединения, ppp-интерфейсу будет присвоено имя ppp2

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/229061.html
Прокомментировать заметку можно по ссылке выше.

Вис mc при включенном файерволе iptables и ssh

Оказалось
1. Надо открыть DNS.
2. Если не помогло, и в настройках ssh разрешен X11-forwarding, то либо открыть соответствующий порт, либо запретить forwarding
a. Открыть порт:

# Open 6000 port (x11 forwarding-display 0)
iptables -A INPUT -p tcp --dport 6000 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 6000 -j ACCEPT

b. Запретить: X11Forwarding no в /etc/ssh/sshd_config

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/228501.html
Прокомментировать заметку можно по ссылке выше.

Изменение разрешения экрана в консоли Slackware

Я все-таки победил эту проблему! Оно по-умолчанию задиралось куда-то в ебеня, оказывалось очень большим, а текст, соответственно, невозможно мелким.
Чего я только ни делал, ставил проприетарные драйвера (зря, к моей карточке не подошли), изгуглил все вдоль и поперек, съел слакбук, излазил весь автозапуск с мыслью, что гадит какая-то англичанка софтина, пугал кота на недосквоте ночными ебтвоюматерями, даже написал [ljr user=»ierofant»> в почту и в блог. сделал вид, что не знает (а на самом деле состряпал тролльфейс и спорил со своими итальянцами за сколько я решу проблему), а правильно.
Kernel can recognize video= parameter in following form (see KMS for more details)
т.е. заменить в конфиге Grub’а vga=normal на video=<conn>:<xres>x<yres>
где:
<conn> — куда подключается монитор, у меня это VGA-1, а для конкретной карты можно посмотреть список входов здесь: /sys/class/drm/
<xres&gt — высота
<yres&gt — ширина
Есть и другие параметры (необязательные), они все по ссылке описаны. Для ЭЛТ-монитора важен параметр @<refresh> — частота обновления.
Например: video=VGA-1:640x480@75

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/226021.html
Прокомментировать заметку можно по ссылке выше.

Слакварим и слаквираем мелочи

Тут будет типа сборник ссылок, микрорецептов, команд, небольших инструкций.
Чтоб не разбегалось по блогу, и не проебывалось, как из памяти, так и в принципе.
1. О менеджерах пакетов, сборке программ из исходников, и способах не засрать программами систему.
Пост на Хабре Его копия в PDF
Отдельно о утилите sbopkg.
читать тут Или качать PDF
Еще одна хорошая статья про установку программ, сборку из исходников и прочее, в частности утилиту checkinstall Скачать PDF
2. Где сидят настройки консольных шрифтов
/etc/rc.d/rc.font
/etc/rc.d/rc.keymap (а тут настройки клавы)
3. Конфигурация иксов (в частности раскладка клавиатуры и сочетания клавиш) тут
/etc/X11/xorg.conf, может и не только тут (зависит от дистрибьютива) но если что с иксами случится от криворуких настроек — влезать здесь или где-то около.
4. Кратко про настройку WiFi, если сетевой интерфейс (карточка) нормально работает.
читать здесь или качать PDF
Чтоб заставить мою работать нормально — был геморрой, но у мне уж очень специфический девайс попался, и в результате получилось, что либо бубен и Wi-Fi, либо если нужно проводное — опять бубен и проводное. Решил инженерно-читерским способом, заменил девайс, за что спасибо большое [info]ierofant@ljr.
5. Автозагрузка программ
Хороший мануал про систему инициализации Slackware. Про INIT тоже читать, в обязательном порядке. качать архив с обеими статьями
Для старта программ в иксах прописываем нужные скрипты/программы сюда
/$HOME/.xinitrc
где $HOME — домашний каталог пользователя
6. Изменение разрешения экрана в консоли
7. Штатная смена оконного менеджера: xdmconfig
8. Склеить два файла cat file1 file2 > file12
9. Просмотр открытых портов, утилита netstat и ей подобные.
читать здесь или качать PDF
10. Подключение к X-Server и X11-forwarding через ssh. На примере Ubunt’ы, но работает и в Slackware
читать здесь или качать PDF
11. Добавить путь в переменную PATH: глобально (для всех пользователей) — в файле /etc/profile, для одного пользователя — в файле .bash_profile в домашнем каталоге.
Подробнее читать здесь или качать PDF
12. Сменить имя хоста, если используется NetworkManager
/etc/NetworkManager/NetworkManager.conf
Секция [keyfile] параметр hostname
13. Изменить приветствие при входе в систему через консоль/ssh:
изменить файл /etc/motd

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/225611.html
Прокомментировать заметку можно по ссылке выше.