tcpdump -ni eth0 ether proto 0x88cc
пятница, 1 марта 2013 г.
tcpdump и lldp
Просто напоминалка самому себе, как отловить lldp-трафик с помощью tcpdump:
понедельник, 11 февраля 2013 г.
rsync через ssh
Сегодня столкнулся с проблемой передачи файла с помощью scp. Каждый раз передача останавливалась на случайном месте, scp показывал статус передачи -stalled-, после чего (выждав таймаут) закрывался с ошибкой broken pipe.
Не помогло даже снижение скорости (ключ -l). Канал, через который шла передача, меня уже неоднократно подводил, но другого способа попасть в защищенную сеть нет.
Зато нашел способ передачи с использованием rsync:
rsync --rsh='ssh' -av --progress --partial username@server1.example.com:/path/file ./Передача рвалась как и прежде, но теперь у меня появилась возможность докачивать файл. Rsync должен быть установлен на обоих машинах.
sudo через ssh
Иногда бывает необходимо срочно выполнить какую-то команду на куче серверов одновременно. И даже при наличии puppet на это уйдёт некоторое время. Поэтому я использую такой приём:
for i in $(seq 1 7); do ssh -t username@server${i}.example.com sudo ifconfig ix0 promisc up; done
А суть этого поста в параметре -t, без которого sudo не хочет запрашивать пароль.
пятница, 23 ноября 2012 г.
Свободная java и ipmi от SuperMicro
Просто напоминалка, как заставить работать java-интерфейс IPKVM (ipmi) от серверов Supermicro при использовании свободной java.
Интерфейс ipkvm работает в Oracle Java, но в свободной java выдает сообщение об ошибке: "iKVM64 in java.library.path"
Для этого нужно сохранить на диск файл launch.jnlp и добавить в секцию с нужной архитектурой две строчки. Например так:
<resources os="Linux" arch="x86_64">
<nativelib href="liblinux_x86_64.jar" download="eager" version="1.0.3"/>
<property name="jnlp.packEnabled" value="true"/>
<property name="jnlp.versionEnabled" value="true"/>
</resources>
Сохранить и можно запускать.
понедельник, 19 ноября 2012 г.
Немного читерства в играх
Во время очередного приступа ностальгии по старым игрушкам установил себе сразу несколько хитов прошлых лет. Но вот беда, совершенно растерял навыки, ничего не получается. А бывало, проходил "по честному" Jungle Strike по два раза за день, т.к. инернета у меня не было, а фидошная нода принимала соединения только ночью, и получить новую игру было затруднительно.
В более позднее время, эпохи Windows 95,98 пользовался отличной утилитой Cheat'o'matic. Еще был более продвинутый аналог ArtMoney. Вот и полез искать, что есть такого же под Linux.
Нашел scanmem. Работает очень просто. Из под root:
Дальше в игре смотрим на какой-нибудь количественный параметр и указываем это число в консоли scanmem. Меняем в игре значение (стреляем, покупаем, лечимся и т.д.) и снова вводим это значение в scanmem. Повторяем операцию до тех пор, пока не будет найдено единственное место в памяти, где хранится это значение ( в случае с Jungle Strike таких мест было три).
И дальше даём команду
В более позднее время, эпохи Windows 95,98 пользовался отличной утилитой Cheat'o'matic. Еще был более продвинутый аналог ArtMoney. Вот и полез искать, что есть такого же под Linux.
Нашел scanmem. Работает очень просто. Из под root:
# scanmem <pid>При запуске игр из-под dosbox нужно указывать pid досбокса.
Дальше в игре смотрим на какой-нибудь количественный параметр и указываем это число в консоли scanmem. Меняем в игре значение (стреляем, покупаем, лечимся и т.д.) и снова вводим это значение в scanmem. Повторяем операцию до тех пор, пока не будет найдено единственное место в памяти, где хранится это значение ( в случае с Jungle Strike таких мест было три).
И дальше даём команду
set 999Где 999 -- это значение, которое нам нужно.
понедельник, 17 сентября 2012 г.
Запланировать проверку диска при перезагрузке
Чтобы запланировать проверку файловой системы при перезагрузке, надо в корне этой ФС создать пустой файл forcefsck.
Например:
# touch /forcefsck touch /var/forcefsck touch /usr/forcefsck touch /home/forcefsckПри следующей перезагрузке произойдут проверки. Другой вариант -- проверить, что в /etc/fstab для каждой ФС в последней колонке стоит цифра, отличная от нуля. Для корневой ФС -- единица, для остальных 2. После чего выполнить shutdown с ключом -F.
четверг, 9 августа 2012 г.
Добавление второго ip-адреса без использования виртуальных интерфесов ( алиасов ) в Centos.
Как известно, со времен ядра 2.2 сетевая подсистема была полностью переписана. Т.е. уже долгое время пользователи систем с ядром Linux могут навешивать дополнительные ip-адреса на интерфейсы родными средствами без использования костылей в виде дополнительных виртуальных интерфейсов (некоторые называют их алиасами).
Ядро 2.2 вышло в 1999 году, поэтому странно видеть, что многие администраторы до сих пор используют архаичные ifconfig/route и создают виртуальные интерфейсы для добавления второго ip-адреса.
Под виртуальными интерфейсами я подразумеваю вот это: eth0:0, p1p5:1 и т.д.
Разницу в использовании net-tools (ifconfig/route) и iproute2 (утилита ip) хорошо описал Александр sash-kan с форума http://unixforum.org/index.php?showtopic=129712
Так как же добавить второй ip-адрес интерфейсу? Легко:
Смотрим текущее состояние интерфейса:Ядро 2.2 вышло в 1999 году, поэтому странно видеть, что многие администраторы до сих пор используют архаичные ifconfig/route и создают виртуальные интерфейсы для добавления второго ip-адреса.
Под виртуальными интерфейсами я подразумеваю вот это: eth0:0, p1p5:1 и т.д.
Разницу в использовании net-tools (ifconfig/route) и iproute2 (утилита ip) хорошо описал Александр sash-kan с форума http://unixforum.org/index.php?showtopic=129712
Так как же добавить второй ip-адрес интерфейсу? Легко:
# ip a s dev eth0 2: eth0:Добавим второй адресmtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:d7:f9:6d brd ff:ff:ff:ff:ff:ff inet 192.168.4.97/24 brd 192.168.4.255 scope global eth0 inet6 fe80::a00:27ff:fed7:f96d/64 scope link valid_lft forever preferred_lft forever
# ip a a 192.168.5.98/24 dev eth0Смотрим, что получилось:
# ip a s dev eth0 2: eth0:Два полноценных равнозначных адреса без использования костылей. Поскольку ifconfig не может даже "вообразить", что у интерфейса могут быть два (три, двадцать три) адреса, то вывод этой команды будет неполным.mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:d7:f9:6d brd ff:ff:ff:ff:ff:ff inet 192.168.4.97/24 brd 192.168.4.255 scope global eth0 inet 192.168.5.98/24 scope global eth0 inet6 fe80::a00:27ff:fed7:f96d/64 scope link valid_lft forever preferred_lft forever
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:D7:F9:6D
inet addr:192.168.4.97 Bcast:192.168.4.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fed7:f96d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:327348 errors:0 dropped:0 overruns:0 frame:0
TX packets:488 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24684863 (23.5 MiB) TX bytes:83192 (81.2 KiB)
Поэтому на linux-машинах про команды ifconfig / route следует незамедлительно забыть.Теперь нас интересует, как в Centos задавать второй ip-адрес автоматически, при перезагрузке. В интернете полно инструкций по Centos/RedHat/Fedora, но все они используют дополнительные виртуальные интерфейсы eth0:1. Это неправильно. Как сделать правильно, написано в документации к дистрибутиву, а именно в файле /usr/share/doc/initscripts-9.03.31/sysconfig.txt.
/etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE="eth0" BOOTPROTO="static" HWADDR="08:00:27:D7:F9:6D" NM_CONTROLLED="no" ONBOOT="yes" TYPE="Ethernet" UUID="27b04fd3-4291-426f-b3d7-a60c1f5f3e60" GATEWAY="192.168.4.1" IPADDR0="192.168.4.97" NETMASK0="255.255.255.0" IPADDR1="192.168.5.98" NETMASK1="255.255.255.0"
Подписаться на:
Сообщения (Atom)