Linux UPnP
Запись создана 8 июня, 2011
Для того чтобы клиенты могли прозрачно открывать порты на шлюзе, был разработан набор протоколв Universal Plug and Play (UPnP), например для того чтобы можно было раздавать торренты.
На днях я снял дома старый добрый Linksys WRT54G, теперь раздачей интернета занимается linux-овая машинка. Для раздачи торррентов например, нужно разрешить соединения внутрь сети. Для этого можно пробросить разные порты на разные машины, и в случае добавления клиентов/машин это придется делать вручную. Это не самый удобный спопосб, но можно использовать UPnP который будет сам пробрасывать нужные порты через iptables.
Установка:
sudo apt-get install linux-igd -y
Настраиваем:
cat /etc/default/linux-igd # External interface name. If undefined then upnpd will not be started. EXTIFACE=ppp0 # Internal interface name. If undefined then upnpd will not be started. INTIFACE=eth0
Добавляем правила в iptables:
iptables -N UPNP iptables -N UPNP iptables -A FORWARD -j UPNP iptables-save > /etc/iptables.up.rules
Запускаем upnpd
/etc/init.d/linux-igd start
Перезапускаем, например, торрент клиент с включенным UPnP и видим появившиеся правила в iptables:
-A FORWARD -d 192.168.1.106/32 -p tcp -m tcp --dport 51413 -j ACCEPT -A PREROUTING -i ppp0 -p tcp -m tcp --dport 51413 -j DNAT --to-destination 192.168.1.106:51413
На этом всё.
» Запись из раздела Debian | 2 комментария
Booting ms dos via PXE to update bios
Запись создана 31 мая, 2011
Для обновления BIOS на сервре как правило нужно загрузиться с дискеты с MS DOS и запустить утилиту обновления, в современном мире не так просто найти FDD, да и дискету сходу не удалось найти.
Но в it инфраструктуре как правило уже развернут PXE сервер для обслуживания серверов или устновки операционной системы, собственно им и воспользуемся.
apt-get install dosfstools gettext build-essential wget "http://downloads.sourceforge.net/project/ms-sys/ms-sys%20stable/2.2.0/ms-sys-2.2.0.tar.gz?use_mirror=citylan" -O ms-sys-2.2.0.tar.gz tar zxf ms-sys-2.2.0.tar.gz && cd ms-sys-2.2.0/ make cp bin/ms-sys /usr/bin/ cd .. && rm -rf ms-sys-2.2.0*
dd if=/dev/zero of=floppy.img bs=1024 count=20000 mkdosfs floppy.img ms-sys -1 -f floppy.img
mount -o loop floppy.img /mnt/ wget http://itblog.su/downloads/W98SE_R.img mount -o loop W98SE_R.img /tmp/dos cp /tmp/dos/* /mnt/ umount /tmp/dos && rm -rf /tmp/dos
mv X8DTU_204.ima /mnt/ wget ftp://ftp.supermicro.com/utility/IPMI%20FW%20flash%20tools/AMI/DOS%202.4.zip unzip DOS\ 2.4.zip mv DOS/yafukcs.exe /mnt/ rm -rf DOS* umount /mnt
mv floppy.img /tftpboot/ cat >> /tftpboot/pxelinux.cfg/default <<EOF label dos menu label dos kernel memdisk append initrd=floppy.img EOF
» Запись из раздела Несортированное | 2 комментария
Proftpd listen ip
Запись создана 30 мая, 2011
По умолчанию Proftpd слушает порт 21 на всех интерфейсах, если же нужно указать ему отвечать строго на определенном интерфейсе используйте конфигурацию:
SocketBindTight on
Port 21
DefaultAddress 192.168.3.1
192.168.3.1 замените на нужный Вам ip адрес.
» Запись из раздела Unix | 1 комметарий
Portchannel betwen Allied Telesis AT-8000GS and Cisco c2950
Запись создана 17 мая, 2011
Что имеем:
1. гигабитный стэк из двух Allied Telesis AT-8000GS
2. к стэку двумя линками подключен AT-8000S/24, линки собраны в портчаннел.
3. Cisco Catalist 2950 который надо подключить к сети.
Оптического трансивера для ATI нет, подключать придется 100 мегабитными линками, линки обьеденить в etherchannel.
на циске настраиваем:
WS-C2950SX-48-SI#conf t WS-C2950SX-48-SI(config)#interface range FastEthernet 0/45 - 48 WS-C2950SX-4(config-if-range)#switchport mode trunk WS-C2950SX-4(config-if-range)#channel-group 1 mode passive WS-C2950SX-4(config-if-range)#channel-protocol lacp WS-C2950SX-4(config-if-range)#end
На AT-8000S/24
interface range ethernet e(19-22) channel-group 7 mode auto description c2950 exit
всё, портчаннел готов, идем на циску и видим:
WS-C2950SX-48-SI#show interfaces port-channel 1 | i BW MTU 1500 bytes, BW 400000 Kbit, DLY 1000 usec,
400 мегабит пропускная способность портчаннэла.
» Запись из раздела Allied Telesis, Cisco | Комментировать
H-Sphere account move error «Suspended due to resources integrity»
Запись создана 4 мая, 2011
При переносе аккаунта с сервера на сервер из H-shphere возможна ошибка «Suspended due to resources integrity»
Заходим на сервер cp рутом и выполняем:
grep "duplicate key violates unique" /var/log/hsphere/hsphere.log.1 -B3
получим что-то вроде:
2011-05-04 11:15:34,614 [transfer] DEBUG cron.TransferCron - getResourcesInMoveInfo(): got and checking 1608767_7 is a HostDependentResource - true 2011-05-04 11:15:34,614 [transfer] DEBUG cron.TransferCron - getResourcesInMoveInfo(): host_id=75 2011-05-04 11:15:34,623 [transfer] ERROR cron.TransferCron - Getting resources info for process 1510 org.postgresql.util.PSQLException: ERROR: duplicate key violates unique constraint "resources_in_move_pkey" -- 2011-05-04 11:15:35,195 [transfer] DEBUG cron.TransferCron - getResourcesInMoveInfo(): got and checking 1505546_7 is a HostDependentResource - true 2011-05-04 11:15:35,195 [transfer] DEBUG cron.TransferCron - getResourcesInMoveInfo(): host_id=75 2011-05-04 11:15:35,197 [transfer] ERROR cron.TransferCron - Getting resources info for process 1519 org.postgresql.util.PSQLException: ERROR: duplicate key violates unique constraint "resources_in_move_pkey"
Теперь переходим к системено PostgreSQL базе:
sudo su -l cpanel -c 'psql hsphere'
и находим ресурсы взятые из лога выше:
hsphere=# SELECT * FROM resources_in_move WHERE rid = 1608767; tp_id | rid | rtype | created | deleted | job_id | tt_id | ord -------+---------+-------+----------------------------+---------+--------+-------+----- 1188 | 1608767 | 7 | 2010-02-08 06:08:08.191+03 | | 1149 | | 0 (1 ROW) hsphere=# SELECT * FROM resources_in_move WHERE rid = 1505546; tp_id | rid | rtype | created | deleted | job_id | tt_id | ord -------+---------+-------+----------------------------+----------------------------+--------+-------+----- 1271 | 1505546 | 7 | 2010-02-08 07:38:30.028+03 | 2010-02-09 08:18:42.944+03 | 1225 | | 0 (1 ROW)
удаляем найденные из таблицы resources_in_move:
hsphere=# BEGIN; BEGIN hsphere=# DELETE FROM resources_in_move WHERE tp_id = 1188; DELETE 168 hsphere=# DELETE FROM resources_in_move WHERE tp_id = 1271; DELETE 41 hsphere=# COMMIT; COMMIT hsphere=# \q
И снова начинаем перенос аккаунтов, теперь всё пройдет нормально.
» Запись из раздела Несортированное | Комментировать
Cisco WS-C2950SX-48-SI
Запись создана 5 апреля, 2011
Начал собирать себе минилабу для подготовки к CCNA/CCNP, купил на днях Cisco WS-C2950SX-48-SI
cisco WS-C2950SX-48-SI (RC32300) processor (revision L0) with 20015K bytes of memory. Processor board ID FOC1009Z8JD Last reset from system-reset Running Standard Image 48 FastEthernet/IEEE 802.3 interface(s) 2 Gigabit Ethernet/IEEE 802.3 interface(s) 32K bytes of flash-simulated non-volatile configuration memory. Base ethernet MAC Address: 00:17:59:E0:67:C0 Motherboard assembly number: 73-9103-04 Power supply part number: 34-0965-01 Motherboard serial number: FOC100926VG Power supply serial number: DAB0936FTKJ Model revision number: L0 Motherboard revision number: A0 Model number: WS-C2950SX-48-SI System serial number: FOC1009Z8JD CLEI Code Number: CNMRV002RC Top Assembly Part Number: 800-24115-03 Top Assembly Revision Number: A0 Version ID: N/A Configuration register is 0xF
» Запись из раздела Cisco | 4 комментария
installing SHOUTcast streaming server on debian x86_64
Запись создана 4 апреля, 2011
Компания Nullsoft, та что радует виндовых пользователей проигрывателем winamp выпускает еще и стриминг сервер, проще говоря сервер онлайн радио. Ставить будем на debian x86_64
mkdir /opt/sc && cd /opt/sc wget http://yp.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz tar zxf sc_serv_1.9.8_Linux.tar.gz rm -rf sc_serv_1.9.8_Linux.tar.gz README.TXT
Открываем конфиг /opt/sc/sc_serv.conf в любом текстовом редакторе (например vim)
найдите строку Password=changeme и поменяйте changeme на свой пароль
Затем строку ; AdminPassword=adminpass
уберите первый символ точки с запятой и замените adminpass на другой пароль (не должен совпадать с предыдущим), теперь строку ScreenLog=1 и замените на ScreenLog=0 и RealTime=1 на RealTime=0.
установим либы для 64-х разрядной платформы:
apt-get install ia32-libs -y
без них при запуске шоткаста будут ошибки вида
-bash: ./opt/sc/sc_serv: No such file or directory
» Запись из раздела Debian | 2 комментария
iptables and ftp in passive mode
Запись создана 18 марта, 2011
Если на сервере открыть только 21 порт то ftp будет доступен только в active mode, но браузеры по умолчанию ломятся всегда в passive. Для того чтобы отрыть passive mode нужно подгрузить модуль ip_conntrack_ftp.
modprobe ip_conntrack_ftp iptables -I RH-Firewall-1-INPUT 1 -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT iptables -I RH-Firewall-1-INPUT 1 -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
» Запись из раздела Несортированное | 1 комметарий
Mysql cache on ramdisk
Запись создана 18 марта, 2011
Выносим кеш и временные таблицы mysql в память. для этого подключим ram-диск:
mount -t tmpfs -o size=1024M tmpfs /tmp/mysql/ echo 'tmpfs /tmp/mysql tmpfs size=1024M,mode=01770,uid=100,gid=101,noatime 0 0' >> /etc/fstab
В конфиге Mysql /etc/my.cnf добавляем директиву в блоке [mysqld]:
tmpdir=/tmp/mysql/
И перезапускаем mysql сервер.
увидеть создаваемые временные файлы можно с помощью lsof
lsof /tmp | grep mysql
Кстати, в тот же рамдиск можно запихать кеш eAccelerator/xCache/squid.
» Запись из раздела Несортированное | 5 комментариев
Cisco 7900 series power supply
Запись создана 16 марта, 2011
Айпифоны Cisco серии 7900 поставляются без БП, блоки питания к ним нужно заказывать отдельно. Или питать по PoE или Cisco Inline power (в зависимости от модели). На данный момент я видел блоки питания от трех поставщиков, официально они все называются:
CP-PWR-CUBE-3
P/N 341-0206-02
48V — 0.38A
По факту сейчас у меня в руках три разных БП, от разных ОЕМ производителей.
PSA18U-480C — олдстайл блоки питания, они раньше поставлялись, а сейчас ушлый китайцы делают полную копию.
EADP-18CB A — их делают в Delta Electronics, известный тайландский OEM-щик. Поставляются официально.
PSC18U-480 — делает неизвестный производитель в китае, поставляются официально.
Официальная цена в среднем 30-40$. На ebay можно купить за 14 баксов подделку под PSA18U-480C, но из 4-х блоков два перегревались и сдохли через пару часов.
» Запись из раздела Несортированное | 13 комментариев