Скрипт, для получения информации о выделенных 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
Прокомментировать заметку можно по ссылке выше.

PuTTY, mc и печаль.

Не работают полезные клавиши, Ctrl+Enter, Ctrl+Ins, например. Причем если работаешь в ssh-клиенте, на местности (с железной клавиатуры) все работает. Изгуглил весь интернет, но как поправить эту беду пока не нашел. Мало ли у кого идеи будут, отпишитесь в комменты.
UPD: Вот оно как работает-то

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

Оконный менеджер


Warning: file_get_contents(): stream does not support seeking in /home/punko102/domains/tolik-punkoff.com/public_html/wp-content/plugins/ljr-poll/simple_html_dom.php on line 75

Warning: file_get_contents(): Failed to seek to position -1 in the stream in /home/punko102/domains/tolik-punkoff.com/public_html/wp-content/plugins/ljr-poll/simple_html_dom.php on line 75

ERROR: CONNECTION ERROR [http://lj.rossia.org/poll/?id=969&mode=results]
По мне, дык чем меньше ресурсов потребляет, тем лучше (потому и не включил в опрос Гном с Кедами), ориентируйтесь на это, пжлст.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/226141.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
Прокомментировать заметку можно по ссылке выше.

Линуксовое

Здесь было ворчание. Теперь его нет. Потому что перехожу на полновесный slackware-based дистрибьютив, по совету одного хорошего человека. Характеристики меня устроили, теперь посмотрим, насколько все остальное хорошо.

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

Некоторые ссылки по вопросу I2P в Linux

И настроек I2P в локальной сети.
Поскольку мне все некогда дописать объемную статью по настройке машины с Puppy Linux в качестве I2P-роутера для домашней сети, а народ вдруг чего-то про это вспомнил и начал требовать, просто оставлю некоторые полезные ссылки. Дабы и у меня не пролюбились. Напишу обязательно, дайте только с делами разобраться.
Краткий HOW-TO для внедрения в I2P (мануал для FreeBSD с подробными пояснениями и SSL’ом даже). Сразу говорю, в моем мануале SSL не будет, мне лень и некогда.
Как настроить интерфейс I2P-роутера для дальнейшего входа в него с другого компьютера в локальной сети. картинка копия взято отсюда

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

Запуск FTP-сервера PureFTPd из командной строки в PuppyRus Linux.

И заодно немного про автозагрузку.
В прошлой заметке по поводу FTP-сервера мы настраивали для его корректной работы отдельного пользователя и запускали его при помощи встроенной в оболочку графической утилиты. Сейчас речь пойдет о том, как управлять им с командной строки.
Read more…

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

Доступ к сетевым ресурсам (папкам) Windows из PuppyRus Linux III

Часть 3. Устранение проблемы с кодировками в графическом Samba-клиенте.


Проблему с кодировками при монтировании сетевой папки я устранил с помощью консольных команд, однако, нашелся способ устранить ее и в графическом клиенте. Надо сказать, что он на самом деле является всего лишь оберткой к консольным программам, поэтому нужно, используя опыт из второй части заметки и немного покопавшись в интерфейсе программы найти нужные опции, итак:
Read more…

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

Заведение новых пользователей в PuppyRus Linux. И FTP в локальной сети заодно.

По-умолчанию в PuppyRus один пользователь, и тот root, что не всегда есть хорошо. В последних дистрибьютвах этот недостаток вроде как устранили, но в которых не устранили придется создавать пользователей вручную.
Не буду описывать, как прикрутить новому пользователю вход по-умолчанию и графическую среду (и потому что самому лень такое делать, и потому что не просит никто и потому что для тех целей, для которых я создаю пользователей, хватит и этого).
А пользователя мы будем создавать для того, чтобы в локальной сети устроить FTP-сервер.
Read more…

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

Доступ к сетевым ресурсам (папкам) Windows из PuppyRus Linux II

Часть 2. Используя консольные команды.
Заодно устраняем проблемы с кодировками и занимаемся некоторыми улучшательствами и малой автоматизацией по просьбам товарищей.
В первой части я использовал графический samba-клиент, который, кроме всего прочего умеет генерировать скрипт монтирования сетевой папки (меню Options->Generate mountscript), вот его-то и надо подправить. Для ускорения процесса я выложу уже подправленный и поясню что к чему.
Read more…

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

С наступившим летом всех

По этому случаю — опизденительнейшая обоина на рабочий стол.


Крупный вариант
Не мое. Нагло выдрано из вот этого дистрибьютива

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

Доступ к сетевым ресурсам (папкам) Windows из PuppyRus Linux

Часть 1. Доступ из графической среды с помощью поставляемого в комплекте samba-клиента.
Способ, который нашелся на форуме т.е. c с помощью mount -t cifs … не сработал.
Итак, имеются машина с установленной Windows XP (имя компьютера TESTCOMP) и открытая для доступа на запись и чтение по сети папка shared на ней.
Задача – получить к ней доступ из все того же PuppyRus Jeans-S-1.3.1b2
1. Запускаем Samba-клиент («Меню» – «Сеть» — «Samba-клиент»).


Read more…
Скачать заметку (Yandex.Disk, DOC) Скачать заметку (mega.nz, PDF)

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

Установка сервера TightVNC в PuppyRus Linux

Для управления им с виндовой машины.
Понадобилось мне это для одной задачи, о которой расскажу позже. Ставил на PuppyRus Jeans-S-1.3.1b2
Написано, что он для PuppyRus 2.x но и на Jeans все завелось.
I. Установка
1. Скачиваем отсюда пакет и зависимость.
Зеркало (Яндекс.Диск): Пакет Зависимость
Зеркало (mega.nz): Пакет Зависимость
Зеркало (Google Drive): Пакет Зависимость
2. Устанавливаем зависимость.
3. Устанавливаем пакет
4. Если при установке «зависимости» будет требоваться удовлетворить дополнительные зависимости, то можно просто установить Оперу. Она поставляется на диске с дистрибьютивом PuppyRus Jeans-S-1.3.1b2
5. Перезагружаемся
II. Установка клиента для Windows
1. Скачиваем отсюда соответствующий своей версии Windows установщик.
2. При установке выбираем только ThightVNC Viewer
III. Проверка
1. На Linux заходим в терминал и набираем команду x11vnc
2. На Windows запускаем ThightVNC Viewer, вписываем в соответствующее поле ввода IP-адрес компьютера с Linux и нажимаем кнопку Connect
3. Если не мешает файервол на Linux, то все должно получиться. Если он мешает, то надо разрешить 5900 порт.
IV. Добавляем TightVNC сервер в автозагрузку иксов.
1.Запускаем Mindlight commander и идем в /root/Startup
2.Создаем (Shift+F4) новый текстовый файл и пишем туда следующее
#!/bin/bash
/usr/bin/x11vnc –gui tray –forever –passwd ваш_пароль > /dev/null

Где:
-gui tray – указывает VNC-серверу, что после запуска нужно показать значок (рядом с часами). Значок будет белым, когда никто не присоединен и черным, если присоединены клиенты.
-forever – указывает VNC-серверу, что необходимо продолжить работу после отключения первого клиента (иначе после отключения оного VNC-сервер потребуется перезапускать)
-passwd ваш_пароль – пароль, который будет спрашивать VNC-сервер при попытке к нему присоединиться. Пароль указывается вместо «ваш_пароль» и может содержать латинские буквы и цифры (без пробелов). Нужен для успокоения паранойи для безопасности.
> /dev/null — перенаправление консольного вывода TightVNC-сервера в нуль-устройство.
3. Сохраняем файл (F2), называем его, например startvnc
4. Устанавливаем ему права на исполнение (F9 – Файл – Права доступа) и снимаем права на чтение для группы и остальных пользователей (раз уж передаем пароль программе в открытом виде).


5. Перезагружаем компьютер и проверяем работоспособность VNC-сервера


ФАНФАРЫ!
За дополнения благодарю доброго анонимуса.

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

Изменение имени компьютера (hostname) в PuppyRus Linux

Чтоб не забыть.
Надо отредактировать файлы /etc/hostname и /etc/hosts (имя должно совпадать в обоих файлах) и перезагрузиться.

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