Тип контенту
Профили
Форум
Календарь
Все, що було написано Lambert
-
Так выложи, свой вариант - мы сравним
-
Это.. прошу прощения у сообщества за потенциально ламероватый вопрос.. но не tcpdump'ом же мне пакеты рассматривать... Дано: контора, в ней сеть на десятка два машин, инет раздает NAT на базе FreeBSD 5.3 Биллингом на этом роутере работает Stargazer, параллельно есть транспарентный Squid и его логи визуализирует некий Sarg Недавно заметил очень уж здоровый трафик с одного из компов, выделил после работы время, прошерстил винду, просканил на вирусы, трояны и прочую хрень - все путем. Значит, трафик сосут прыгающие за тот комп юзвери Какой есть способ не слишком сложными манипуляциями на сервере определить, что куда за NATом идет и по каким портам, для определенного IP? Netflow прикручивать? Спасибо
-
Хорошо. Значит, по сути дела: по крону раз в пять минут запускается скрипт-чекер */5 * * * * /usr/local/etc/scripts/nevolya.sh сам скрипт выглядит так: #!/bin/sh # for host in "82.144.211.1"; do /usr/local/sbin/fping -q $host RV=$? if [ $RV -eq 0 ]; then echo "Link is OK:" `date` >>/var/log/volia.log elif [ ]; then else /usr/local/bin/lptsend -s -d 0 -w 65535 echo "Link is broken at:" `date` >>/var/log/volia.log fi done exit Управление модемом собрано на базе схемки, приведенной ниже перерисовать свою нечем, но вратце расскажу что надо: управляющий выход LPT-порта - STROBE, сигнальный пин №1 земля - пин №18 вместо диода на входе оптопары - гасящий резистор (у меня 1.5К, но надо подбирать под имеющуюся оптопару) реле с нормально замкнутыми контактами, включенными в разрыв цепи питания модема блок питания у модема - 12В, схема кормится от него же Принцип работы всей лабуды прост по крону запускается чекер, пытается пинговать заданный в скрипте айпишник если ответ пришел - гут, выключаемся до следующего раза если нет - запускается lptsend с параметрами, которые выставляют канал STROBE в высокий уровень примерно на минуту схема переключает реле, питание на модем обрывается и оный отдыхает по истечению минуты (или сколько зададите в параметрах запуска lptsend) программа завершается, выход возвращается в состояние нуля, реле отпускается - модем аппаратно перезагружен
-
Если кому-то интересно - могу выложить скрипт и схему управления. Так сказать, краткий ликбез для реализации такого вот костыля. Пока вроде работает как надо, есть правда бока с инициализацией порта при перезагрузке машины - но это я пока не знаю как бороть, да и не буду наверное.
-
когда их уже закроют так чтоб ничего никуда не ходило..
-
Есть Собралось и работает Спасибо!
-
Спасибо, буду пробовать Только дальше "lptsend.txt: file not recognized: File format not recognized" я пока не продвинулся
-
Спасибо! Вот бы еще подсказал глубокоуважаемый автор, как сие скомпилять.. а то у меня сходу не получилось
-
Дык это.. скрипт пинговалки я отстроил, вкрутил в него перезагрузчик через модемную вебморду.. Но за эти несколько месяцев работы выяснилось, что модем иногда умеет зависнуть так, что не отвечает его вебморда Помогает только вырубить на минуту-две и потом опять включить Сейчас думаю над автоматизацией процесса. Скрипт переделать - раз плюнуть, а вот чем подрыгать ножкой порта? Электроники там два ключа, на пять минут работы с паяльником модем - Motorola SB5100 и никаких бриджей оно не умеет
-
Да, именно так. Нужно модем ребутать, когда оный зависает и по IP отвечать перестает
-
ОС: FreeBSD 6.2 Задача: сваять программку, которая по запуску поднимала бы какую-нить ногу LPT-порта в высокий уровень и спустя минуту дропала обратно и завершалась. Это нужно для аппаратной перезагрузки железяки, которой свойственно время от времени зависать Или может кто-то натыкался на готовое решение? Помню, в студенческие годы мы подобное писали, но... заучил, сдал, забыл - сейчас не осилю Спасибо за внимание
-
Веду борьбу с провайдером, пытаясь добиться от оного фикса егойных глюков, по причине которых частенько отваливается инет. Приходится звонить в саппорт, вручную по многу раз ребутать модемы и т.д. Хотел бы прикрутить скрипт под FreeBSD 5, раз в минуту пингующий DNS провайдера и если нет ответа - писать в лог что связь обрыв. Потом этот лог надо бы как-то парсить, чтоб в более удобном виде наблюдать, какого числа и в какой промежуток времени линк падал. Может ли кто-нить ткнуть меня носом в какой-нить вариант решения? Сенкс заблаговременно
-
А что собственно мешает создать своп раздел? В хэндбуке вроде писалось, что он таки нужен.. хотя, у меня 5-я фря, может в новых что-то там иначе..
-
Выбирая между atacontrol, vinum или ccd я остановился на первом Итак, установка пошагово: 1. При загрузке машины нажимаем <Ctrl>+<A> для входа в Array Configuration Utiliry 2. Выбираем Create RAID Volume 3. RAID Level: RAID1 (Mirroring) 4. Нажимаем кнопочку и ждем пока RAID1 будет собираться. По окончании работы утилиты, вставляем диск с FreeBSD 5.3 и загружаемся с него Выбираем стандартную установку и ставим систему по минимуму и, что называется "абы поставить". Эта система все равно ставиться на 5 минут. Дело в том, что при выборе дисков мы, к сожалению, увидим только ad4 и ad6 - рейда не видим. Ставимся на любой диск, не имеет значения, и после установки и перезагрузки (уже с HDD) набираем заветную команду: # atacontrol create RAID1 ad4 ad6 ar0 created - создано устройство ar0 - собственно RAID1 из дисков ad4 и ad6 Собственно ради этого и нужна была черновая установка системы Конечно, проще было бы загрузиться с rescue-диска (со второго диска комплекта.), но его чаще всего нет под рукой. Теперь можно перегрузиться и по настоящему поставить FreeBSD по вкусу. Ставить нужно на ar0 (этот пункт появиться в fdisk при установке), диски ad4 и ad6 не трогаем. Установка FreeBSD на наш RAID ничем не отличается от установки на обычный жесткий диск. Об установке написано достаточно много, тут все зависит от Ваших потребностей. Поэтому этот вопрос не затрагиваем, а сразу к вкусненькому. J Итак, система живет на рейде ar0. Что мы можем с ним делать? Посмотреть ATA устройства можно так: # atacontrol list ATA channel 0: Master: no device present Slave: no device present ATA channel 1: Master: acd0 <TEAC CD-552E/VER 1.00> ATA/ATAPI revision 0 Slave: no device present ATA channel 2: Master: ad4 <WDC WD800JD-00JNA0/05.01C5> Serial ATA v1.0 Slave: no device present ATA channel 3: Master: : ad6 <WDC WD800JD-00JNA0/05.01C5> Serial ATA v1.0 Slave: no device present проверить состояние рейда можно командой: # atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: READY и вообще man atacontrol - очень полезно J, к примеру здесь: http://www.citforum.ru/operating_systems/m...CONTROL.8.shtml Проверка функционирования RAID 1 Проверить работу RAID1 в действии довольно просто и очень стоит попробовать поиграться с этим до того как сервер станет боевым, с полезной нагрузкой. # atacontrol list ATA channel 0: Master: no device present Slave: no device present ATA channel 1: Master: acd0 <TEAC CD-552E/VER 1.00> ATA/ATAPI revision 0 Slave: no device present ATA channel 2: Master: ad4 <WDC WD800JD-00JNA0/05.01C5> Serial ATA v1.0 Slave: no device present ATA channel 3: Master: ad6 <WDC WD800JD-00JNA0/05.01C5> Serial ATA v1.0 Slave: no device present # atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: READY пока все нормально Моделируем вылет одного из дисков - отсоединяем любой из дисков рейда, например ad6. Для этого диск отсоединяем, или можно дать команду atacontrol detach # atacontrol detach 3 Диск выключен физически, с остановкой шпинделя, и через некоторое время мы увидим в окне первого терминала предупреждение ad6: deleted from ar0 disk1 ar0: WARNING - mirror lost ad6: WARNING - removed from configuration проверяем состояние ar0 # atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 DOWN status: DEGRADED система заметила нарушение работы рейда # atacontrol list ATA channel 0: Master: no device present Slave: no device present ATA channel 1: Master: acd0 <TEAC CD-552E/VER 1.00> ATA/ATAPI revision 0 Slave: no device present ATA channel 2: Master: ad4 <WDC WD800JD-00JNA0/05.01C5> Serial ATA v1.0 Slave: no device present ATA channel 3: Master: ad6 no device present Slave: no device present Естественно, диска ad6 нет - мы его выключили Подключаем винт назад (можно дать команду atacontrol attach) # atacontrol attach 3 Master: ad6 <WDC WD800JD-00JNA0/05.01C5> Serial ATA v1.0 Slave: no device present А в системной консоли: ad6: 76319MB <WDC WD800JD-00JNA0/05.01C5> [155061/16/63] at ata3-master SATA150 # atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 DOWN status: DEGRADED При этом винт появился физически, но он не в рейде # atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 DOWN status: DEGRADED - один из винтов DOWN, несмотря на то, что физически он поднялся. Тут дело в логике работы raid - произошел развал зеркала - винт ad6 был исключен из состава рейда. В контейнере ar0 остался один из двух работающих винтов - ad4. Несмотря на подключение винта ad6 назад, он уже не входит в состав контейнера ar0, и его нужно туда внести # atacontrol addspare ar0 ad6 В системной консоли: ad6: inserted into ar0 disk1 as spare проверим # atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED Осталось восстановить зеркалирование # atacontrol rebuild ar0 Процесс запустился в фоновом режиме и можно посмотреть его текущее состояние # atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 1% completed ... Через час atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: READY - зеркало восстановлено J Для контроля состояния RAIDа можно вписать в crontab: 0 8 * * * root atacontrol status ar0 | mail -s "server1 RAID status" mymail@mydomain.com .... И каждое утро, приходя на работу, Вы будете получать письмо от сервера о статусе Николай Солонин <mailto:nsol@REMOVE-THIS-FAKE.ukr.net> atacontrol - программа управления драйвером устройства ATA созданная Soren Schmidt, появилась в составе FreeBSD с версии 4.
-
<Anonymous /var/ftp> User ftp Group nogroup UserAlias anonymous ftp MaxClients 5 "Sorry, max %m users. Try again later" DisplayLogin welcome.msg <Limit WRITE> DenyAll </Limit> <Directory incoming> <Limit READ WRITE STOR> AllowAll </Limit> </Directory> </Anonymous>
-
А чем proftpd не устроил?
-
#!/bin/sh - # Copyright © 1996 Poul-Henning Kamp # All rights reserved. # $FreeBSD: src/etc/rc.firewall,v 1.47 2003/11/02 07:31:44 ru Exp $ # # Setup system for firewall service. fwcmd="/sbin/ipfw" setup_loopback () { ############ # Only in rare cases do you want to change these rules # ${fwcmd} add 100 pass all from any to any via lo0 ${fwcmd} add 200 deny log all from any to 127.0.0.0/8 ${fwcmd} add 300 deny log ip from 127.0.0.0/8 to any } #if [ -n "${1}" ]; then # firewall_type="${1}" #fi ############ # Flush out the list before we begin. # ${fwcmd} -f flush ${fwcmd} -f pipe flush # set these to your outside interface network and netmask and ip oif="xl0" onet="82.144.204.0" omask="255.255.255.0" oip="82.144.204.137" # set these to your inside interface network and netmask and ip iif="fxp0" inet="192.168.0.0" imask="255.255.255.0" iip="192.168.0.1" setup_loopback # Traffic shaper ${fwcmd} pipe 1 config bw 1Kbit/s mask dst-ip 0xFFFFFFFF ${fwcmd} pipe 64 config bw 64Kbit/s mask dst-ip 0xFFFFFFFF ${fwcmd} pipe 128 config bw 128Kbit/s mask dst-ip 0xFFFFFFFF ${fwcmd} pipe 256 config bw 256Kbit/s mask dst-ip 0xFFFFFFFF ## ${fwcmd} pipe 257 config bw 256Kbit/s mask src-ip 0xFFFFFFFF ${fwcmd} add 430 pipe 128 ip from not me to 192.168.0.3 out ${fwcmd} add 450 pipe 64 ip from not me to 192.168.0.63 out ${fwcmd} add 460 pipe 256 ip from not me to 192.168.0.130 out # Stop spoofing # ${fwcmd} add 500 deny all from ${inet}:${imask} to any in via ${oif} ${fwcmd} add 600 deny all from ${onet}:${omask} to any in via ${iif} # Stop RFC1918 nets on the outside interface ${fwcmd} add 700 deny all from any to 10.0.0.0/8 via ${oif} ${fwcmd} add 800 deny all from any to 172.16.0.0/12 via ${oif} # ${fwcmd} add 900 deny all from any to 192.168.0.0/16 via ${oif} # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1, # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) # on the outside interface ${fwcmd} add 1000 deny all from any to 0.0.0.0/8 via ${oif} ${fwcmd} add 1100 deny all from any to 169.254.0.0/16 via ${oif} ${fwcmd} add 1200 deny all from any to 192.0.2.0/24 via ${oif} ${fwcmd} add 1300 deny all from any to 224.0.0.0/4 via ${oif} ${fwcmd} add 1400 deny all from any to 240.0.0.0/4 via ${oif} # Transparent proxy tuning # ${fwcmd} add 1500 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80 in via ${iif} ## ${fwcmd} add 1500 fwd 127.0.0.1,3128 tcp from 192.168.0.0/25 to any 80 in via ${iif} # Network address translation # ${fwcmd} add 1600 divert natd all from any to any via ${natd_interface} ${fwcmd} add 1600 divert natd all from any to any via ${oif} # Stop RFC1918 nets on the outside interface ${fwcmd} add 1700 deny all from 10.0.0.0/8 to any via ${oif} ${fwcmd} add 1800 deny all from 172.16.0.0/12 to any via ${oif} # ${fwcmd} add 1900 deny all from 192.168.0.0/16 to any via ${oif} # Stop draft-manning-dsua-03.txt (1 May 2000) nents (includes RESERVED-1, # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) # on the outside interface ${fwcmd} add 2000 deny all from 0.0.0.0/8 to any via ${oif} ${fwcmd} add 2100 deny all from 169.254.0.0/16 to any via ${oif} ${fwcmd} add 2200 deny all from 192.0.2.0/24 to any via ${oif} ${fwcmd} add 2300 deny all from 224.0.0.0/4 to any via ${oif} ${fwcmd} add 2400 deny all from 240.0.0.0/4 to any via ${oif} # Allow TCP through if setup succeeded ${fwcmd} add 2500 pass tcp from any to any established # Allow IP fragments to pass through ${fwcmd} add 2600 pass all from any to any frag # Allow setup of SSH ${fwcmd} add 2700 pass tcp from any to ${oip} 22 setup # Allow setup of incoming email ${fwcmd} add 2800 pass tcp from any to ${oip} 25 setup # Allow binkd to internal server at LAN ${fwcmd} add 2900 pass tcp from any to any 24554 # Allow samba & LAN windoze shares ${fwcmd} add 3000 pass tcp from any to any 137 ${fwcmd} add 3100 pass tcp from any to any 138 ${fwcmd} add 3200 pass tcp from any to any 139 # Allow remote desktop sharing at LAN windoze ${fwcmd} add 3300 pass tcp from any to any 3389 # Allow Games ${fwcmd} add 3400 pass udp from any to any 21000 ${fwcmd} add 3500 pass udp from any to any 27960 # ${fwcmd} divert 8668 all from any to any via xl0 # Allow access to our DNS ${fwcmd} add 3600 pass tcp from any to ${iip} 53 setup ${fwcmd} add 3700 pass udp from any to ${iip} 53 ${fwcmd} add 3800 pass udp from ${iip} 53 to any # Allow access to our FTP ${fwcmd} add 3900 pass tcp from any to ${oip} 21 setup # Allow passive FTP ${fwcmd} add 4000 allow tcp from any to ${oip} 49152-65534 # Allow access to our WWW # ${fwcmd} add 4100 pass tcp from any to ${oip} 8080 setup ${fwcmd} add 4100 pass tcp from any to ${oip} 80 setup # Allow access to Webmin ${fwcmd} add 4150 pass tcp from any to ${oip} 10000 setup # Allow ICQ ${fwcmd} add 4200 pass tcp from any to any 5190 ${fwcmd} add 4300 pass tcp from any 5190 to any # Allow ICMP ${fwcmd} add 4400 pass icmp from any to any ${fwcmd} add 4500 deny icmp from any to any frag # Reject&Log all setup of incoming connections from the outside ${fwcmd} add 4600 deny log tcp from any to any in via ${oif} setup # Allow setup of any other TCP connection ${fwcmd} add 4700 pass tcp from any to any setup # Allow DNS queries out in the world ${fwcmd} add 4800 pass udp from ${oip} to any 53 keep-state # Allow NTP queries out in the world ${fwcmd} add 4900 pass udp from ${oip} to any 123 keep-state
-
На всех компах локалки винда, там в настройках указаны gw и dns - оба адреса смотрят на роутер. То бишь, на роутере должен быть какой-то dns forwarder, по идее
-
Добавил в /etc/resolv.conf первой строкой nameserver 127.0.0.1 там уже были прописаны провайдерские NS Надо ли их удалить совсем? bind пока что работает, сам не знаю зачем он мне нужен Спасибо за наводку про sshd_config, поправил. К вечеру юзеры по домам разойдутся, буду тестировать.
-
А что предпочтительней - таки перелопатить весь перечень правил, или попытаться подставить переменную?
