iptables выборка по FQDN

July 4th, 2012

Иногда пригождается, а из головы вылетает.

Кстати страдающим от вконтактозависимости вот такое правило будет не лишним:

iptables -A OUTPUT -p tcp -m string – -string vkontakte.ru – -algo kmp -j DROP

Консоль. Логи в режиме реального времени

July 4th, 2012

Просто чтоб не забыть, иногда пригождается.

tail -f /var/path/to/some/logfile

iptables в Ubuntu

July 4th, 2012

Я привык к slackware-way при “хранении” правил iptables – скрипт rc.firewall, лежащий в /etc/rc.d/ , содержащий в себе логически понятные строчки правил iptables и умеющий принимать значения start/stop/restart.

Но в GNU/Linux, как вы понимаете, существует много вариаций решения одной и той же задачи. Рассмотрим базовую настройку iptables в Ubuntu. Написано по материалам https://help.ubuntu.com/community/IptablesHowTo#Configuration%20on%20startup .

ВнИМАние! Подразумевается, что настраиваете файрвол на локальной машине. Если на удаленной, то когда будете задавать политику по умолчанию для цепочки INPUT, разрешайте (sudo iptables -P INPUT ACCEPT), а уж потом, на последнем этапе, запрещайте через правку конфига, имея уже явно прописанные разрешающие правила.

1 шаг.

Задаём цепочкам политики по умолчанию:
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP # если у вас не включен IP-forwarding, можно и не делать, но, думаю, лишним не будет в любом случае.
# sudo iptables -P OUTPUT DROP # я этого не делал, для себя решайте сами. Не забудьте только в случае блокировки OUTPUT по умолчанию добавить правило:
sudo iptables -A OUTPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

2 шаг.

Разрешаем входящий трафик на loopback-интерфейсе:

sudo iptables -A INPUT -i lo -j ACCEPT

3 шаг.

Создаём правила для входящих соединений на нашу машину:
sudo iptables -A INPUT -p tcp —dport 22 -j ACCEPT
Добавляем при необходимости другие правила/опции.

4 шаг.

Разрешаем входящие соединения со статусом ESTABLISHED и RELATED:
sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

5 шаг.

Сохраняем введённые правила в файл /etc/iptables.rules:

sudo bash -c “iptables-save > /etc/iptables.rules”

6 шаг.

Создаём скрипт /etc/network/if-pre-up.d/iptablesload следующего содержания:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

7 шаг.

Создаём скрипт /etc/network/if-post-down.d/iptablessave следующего содержания:
#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.downrules ]; then
   iptables-restore < /etc/iptables.downrules
fi
exit 0

8 шаг.

Делаем только что созданные скрипты исполняемыми:
sudo chmod +x /etc/network/if-pre-up.d/iptablesload
sudo chmod +x /etc/network/if-post-down.d/iptablessave

Готово. Теперь при необходимости можно редактировать файл с правилами и перезапускать скрипт /etc/network/if-pre-up.d/iptablesload для вступления изменений в силу.

О том, что мне не нравится в этом подходе.

Просмотрите ваш файл /etc/iptables.rules . Вам не кажется, что он несколько “захламлён” (в примере я привожу не всё содержимое) ?

# Generated by iptables-save v1.4.4 on Mon May 23 15:20:51 2011
*filter
:INPUT DROP [172:18570]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [681:120764]
[30:1727] -A INPUT -i lo -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp —dport 22 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp -m multiport —dports 135,139,445 -j ACCEPT
[176:17992] -A INPUT -p udp -m udp -m multiport —dports 137,138 -j ACCEPT
#
-A INPUT -p icmp -m icmp —icmp-type 8 -j ACCEPT
#
[556:391583] -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon May 23 15:20:51 2011

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

В общем, не привычен мне этот метод.

Конвертирование имён файлов из одной кодировки в другую

July 4th, 2012

convmv – converts filenames from one encoding to another

Для настоящео переименования (а не “тестового” вывода того, что получится в итоге) – использовать параметр – -notest:

– -notest
Needed to actually rename the files. By default convmv will just print what it wants to do.

Спасибо http://pmenshikov.ru/ .

xfreerdp

July 4th, 2012

#!/bin/sh
xfreerdp -u LOGIN -d DOMAIN_NAME -a 32 -z -g 1900×1000 -k 0x00000409 —plugin cliprdr —plugin rdpsnd —plugin rdpdr —data disk:${USERNAME}:${HOME} —plugin rdpdr —data printer — server.example.com

#!/bin/sh
xfreerdp -u LOGIN -d DOMAIN_NAME -a 32 -z -g 1900×1000 -k 0x00000409 —plugin cliprdr —plugin rdpsnd —plugin rdpdr —data disk:${USERNAME}:${HOME} —plugin rdpdr —data printer — server.example.com

Видео .ogv -> .avi

July 4th, 2012

Маленькая памятка о перекодировании видео из формата .ogv в .avi. Делалось в Ubuntu 10.04 LTS.

Нужен пакет mencoder.

mencoder -idx <имя_файла>.ogv -ovc lavc -oac mp3lame -o <имя_файла>.avi

CPU Scaling: Slackware, Zenwalk

July 4th, 2012

1. В Zenwalk устанавливаем 2 пакета:

  • cpugreq
  • cpufrequtils.

Далее все сводится к ручной/автоматизированной загрузке нужного модуля:

alexey[~]$ /sbin/modprobe -l | grep cpufreq_
kernel/drivers/cpufreq/cpufreq_stats.ko
kernel/drivers/cpufreq/cpufreq_powersave.ko
kernel/drivers/cpufreq/cpufreq_userspace.ko
kernel/drivers/cpufreq/cpufreq_ondemand.ko
kernel/drivers/cpufreq/cpufreq_conservative.ko

… потом играемся с опциями cpufreq-set – выставляем желаемый governor (-g )и частоту (-f) CPU, чем добиваемся требуемого результата.

Вероятно, того же можно добиться правкой rc.cpufreq и rc.cpufreq.conf в каталоге /etc/rc.d, однако я эти файлы не трогал.


2. В Slackware устанавливаем пакет

  • cpufrequtils,

затем правим /etc/rc.d/rc.modules<..здесь_может_быть_версия_ядра..>.

В Slackware опции по CPU-scaling по дефолту находятся именно тут. Так что не будем ничего менять и изобреть велосипед.

PS: на высокую информативность не претендует. Так, заметка на память.

Windows,автоматическое PPTP-подключение

July 4th, 2012

Ставим в автозагрузку файл со следующим содержанием:

rasphone -d <название_соединения>

В настройках соединения – сохранить логин и пароль.

Slackware 13.1: отключаем IPv6

July 4th, 2012

Маленькая заметка о том, как отключить IPv6 в Slackware (без пересборки ядра).

В 13.1 есть небольшие изменения – теперь отсутствует привычный нам /etc/modprobe.conf.

man modprobe.conf говорит нам следующее:

the /etc/modprobe.conf  file  can  also  be  used  if  it  exists, but that will be removed in a future version

Листинг /etc/modprobe.d/ показывает вот что:

root@zenwalk:~# ls /etc/modprobe.d/
blacklist.conf  isapnp.conf  psmouse.conf  usb-controller.conf

Нас интересует blacklist.conf. Файл для «незагрузки» не нужных нам модулей. Формат элементарный: blacklist <название_модуля>.

Таким образом, добавляем строку

blacklist ipv6

Slackware Minimal System

July 4th, 2012

Решил черкнуть заметку о минимальной установке Slackware. Вдруг пригодится кому.

Возможно, многие встречали в Сети подобного рода статью – http://slackwiki.org/Minimal_System , я же предлагаю свой список набора пакетов, после установки которых система занимает около 300 Мб, а это примерно в 2 раза меньше, чем по вышеприведённой ссылке.

Примечания:

  • набор пакетов очень индивидуален. Сделать выбор конкретно под Вас я не могу. Так или иначе, но хотя бы пару (не)нужных пакетов вы можете (не) обнаружить в моём списке. Это – «core system», база, фундамент.
  • для сокращения используемого места на диске, не были установлены пакеты из категории D, то есть в том числе и компиляторы, так что в дальнейшем устаналивать дополнительные пакеты придётся только из бинарников. Либо доустаналивать нужные пакеты из серии D.
  • Набор пакетов «заточен» под версию 13.1, на данный момент – последний стабильный релиз. Подойдет и для более ранних версий, однако 2-3 пакета в более ранних версиях отсутствуют, например xz (A)
  • Никаких «иксов»!
  • Никогда не ленитесь читать/повторять описание пакетов :-) Это не только полезно, но и интересно.

A

aaa_base
aaa_elflibs
aaa_terminfo
acl
bash
bin
bzip2
coreutils
cxxlibs
dbus
dcron
device_mapper
devs
dialog
e2fsprogs
ed
elvis
etc
file
findutils
gawk
gettext
glibc-solibs
glibc-zoneinfo
grep
gzip
infozip
inotify-tools
kbd
kernel-firmware
kernel-huge
kernel-modules
less
lilo
logrotate
lvm2
module-init-tools
ncompress
openssl-solibs
pciutils
pkgtools
procps
sed
shadow
sharutils
sysfsutils
sysklogd
sysvinit
sysvinit-scripts
tar
udev
usbutils
utemper
util-linux-ng
which
xz
zoo

AP

acct
diffstat
diffutils
groff
man
man-pages
mc
slackpkg
vbetool
vim

L

dbus
dbus_glib
dbus_python
hal
hal-info
libcap
libusb
lzo
ncurses
popt
readline
qca-gnupg
slang
zlib

N

ethtool
gnupg
gnupgz
gnutls
inetd
iptables
iputils
libgcrypt
net-tools
netkit-ftp
netpipes
ntp
openssh
openssl
tcp_wrappers
tcpdump
telnet
traceroute
wget
whois

Также можете создать себе tagfile‘ы и использовать их для установки системы с этим набором пакетов. Как их создавать – читайте в соответствующей главе хорошей книги – Slackbasics .

Как говорит Патрик, have fun !