Страницы

Показаны сообщения с ярлыком lan. Показать все сообщения
Показаны сообщения с ярлыком lan. Показать все сообщения

суббота, 31 марта 2012 г.

Гигабит на 140 метров

Конечно так никто не делает, на такие расстояния кидают оптику обычно, но все же. Между двумя зданиями был кинуть обычный UTP cat 5e кабель для внешней прокладки. Свитчи на обоих концах показали гигабитный линк. Программа iperf выдала значение 750Мбит, при 10 потоках.
Помнится во времена начала строительства нашей районной локальной сети, на такие расстояния мы и 100мбит пускать боялись. А тут гигабит :)

пятница, 30 декабря 2011 г.

DIR-100 VLAN Switch

По случаю достался мне маршрутизатор Dlink DIR-100. И решил я сделать из него свитч. Поскольку в моем домашнем маршрутизаторе DIR-300 остался 1 свободный порт, я подключил к нему DIR-100 и получил в свое распоряжение 4 свободных порта. Но чтобы DIR-100 использовать как полноценный 5 портовый свитч, да еще и управляемый, с поддержкой VLAN (которая для дома мне пока не треуется), его нужно перепрошить стандартной прошивкой с фтп-сервера D-Link. После данной процедуры маршрутизатор превращается в 5-портовый управляемый свитч. Теперь он стоит на столе рядом с трехсотым, и красиво помигивает лампочками :)
В скором времени намереваюсь собрать небольшой домашний файл-сервер, вот как раз будет куда его подключить, да еще и куча свободных портов останется.

пятница, 2 декабря 2011 г.

Еще раз о приручении интерфейсов

Вот здесь два года назад, я писал о том как определять номер ppp интерфейса на котором сидит pppoe подключение к провайдеру.
Совсем недавно, в очередной раз ковыряясь в FreeNIBS, и почитав ман по pppoe, я обнаружил что в конфиге последнего, pppoe.conf можно в строке параметров pppd указать номер интерфейса которым он будет соединяться с провайдером. Таким образом, прописав туда unit 100 я заставил pppoe всегда висеть на интерфейсе ppp100. Что довольно удобно.
Про настройку gigawords в Абиллс я уже писал. Решил тоже самое сделать и в FreeNIBS. Все же объемы трафика уже проходят просто огромные, а он все что больше 4Гб обнуляет. Пропатченый pppd-2.4.4b1 установился и заработал сразу же. Но этого было мало. Оказалось необходимо добавить в БД freenibs, в таблицу actions значения для bigint(20) UNSIGNED.
Затем поправить строки для postauth update и stop  в файле nibs.conf.
И наконец после рестарта радиус-сервера, фринибс начал корректно отображать информацию о больших объемах трафика.

понедельник, 14 ноября 2011 г.

Осваиваю Abills

На выходных настраивал сервер с биллингом для небольшой локалки. В качестве биллинга решил попробовать Abills. Поскольку FreeNibs, использовавшийся ранее, уже не подходил. Конечно можно было его допилить до нужного функционала, но пилить пришлось бы очень много. В качестве системы, поставил ubuntu-server 10.04. Вполне себе годная система. Для решения проблемы с обнулением данных о трафике > 4Gb в текущей сессии, пришлось собирать из исходников ppp, а с ним за компанию и pptpd. Все собралось отлично, патч gigawords встал как родной. Версия ppp 2.4.4b1. На другие версии патч вставать не хотел. Версию pptpd не помню, но там я ничего не патчил. Abills установился без проблем, мануалов по настройке тонна. В результате, по прошествии пары выходных почти все настроено, осталось немного. Написать правила для iptables. И написать скрипт динамического шейпера. Чтобы скорость у юзеров менялась не только после реконнекта, но и во время нахождения в интернете.
Общее впечатление от Abills - большой навороченный биллинг. Очень много поддерживает NAS-ов. Немного не нравится админский интерфейс. Но, думаю, ко всему можно привыкнуть.

пятница, 29 октября 2010 г.

Ударим по трафику гигагерцами

В ноябре, нашей местной локальной сети исполняется 5 лет. И до недавнего времени в ядре сети стоял сервачок, который был собран еще 5 лет назад. По тем врменам конфигурация была уже так себе. Celeron 1700 и 512Mb оперативки. И если несколько лет назад он вполне справлялся со своими обязанностями, то с появлением безлимитного интернета и постоянным наращиванием скоростей, сервер стал узким местом. Особенно ярко это выражено когда я качаю торренты, и скорость доходит до 30-40Мбит.При этом процессор загружен на 100% и остальные процессы не могут нормально функционировать, появляются всяческие глюки. И вот неделю назад, было решено сервер обновить. Была установлена материнка под 775 сокет и  процессор Pentium D 925. У этого процессора 2 ядра по 3ГГц на каждое и кэш L2 каждого ядра 2Мб. С этим процессором, загрузка одного ядра при скорости в 60Мбит составляет 40-60%. При этом второе ядро занимается обработкой других процессов. Таким образом получается распределение нагрузки и общая нагрузочная способность сервера повышается. В плане обновления софта никаких проблем не возникло, на сервере с незапамятных времен крутится слакварь. В силу природной лени пересобирать ядро мне было лень :) и я скачал дефолтное с поддержкой smp и модули к нему. Все заработало сразу.
Теперь вот думаю, если вместо сетвух на Realtek 8139 применить сетевые от Интел, на сколько упадет загрузка процессора, и вообще целесообразно ли это.
В общем с новым процессором я могу качать торренты на максимально возможной скорости и при этом остальной софт на сервере будет работать без тормозов.

понедельник, 20 сентября 2010 г.

Печатаем на Linux-принтере без samba

Поскольку на радио компе теперь стоит винда, и лог другой, изменился процесс печати наклеек для карточек. Если раньше в CQRLOG, я делал экспорт отмеченных QSO в формат csv, и потом на основном компе в программе glabels печатал наклейки, то теперь мой новый лог может печатать наклейки сам.
UR5EQF имеет встроенную программу QSLprint, которая позволяет печатать карточки и наклейки непосредственно из журнала. Но проблема в том, что экспорта в csv нет. Есть экспорт в формат Excel, но он у меня как-то криво работает. Единственным выходом я вижу подключить к радио компу принтер. По сети, разумеется. Но в винде службу доступа к файлам и принтерам а так же клиент для сетей я отключил, в целях безопасности. Ну а в линуксе самба сервер у меня не установлен вот уже больше года, поскольку ресурсы через самбу я уже давно не шарю (предпочитаю пиринговые сети). Соответственно возник вопрос - а как кроме самбы расшарить принтер по сети?
Немного полазив по интернету, наткнулся на IPP (Internet Printing Protocol). В общем делается все просто. Заходим в CUPS, через http://localhost:631 затем во вкладке администрирование, устанавливаем галочки разрешить доступ по сети и разрешить печать через интернет. Затем на вкладке принтеры смотрим имя нашего принтера.
Далее на компе с виндой, запускаем установку нового принтера, выбираем установить сетевой принтер, и далее в окошке где надо ввести URL, пишем http://ip_pc_with_printer:631/printers/printer_name
Вот и все. Далее он попросит указать ему путь к драйверам, вставляем диск с дровами в комп с виндой, и после установки пробуем распечатать пробную страницу, печатает не так быстро, как через самбу, но все же печатает и очень хорошо.
Естественно во время печати комп к которому подключен принтер, должен быть включен. Принтер можно включить позже, как только он включится вся очередь печати будет распечатана.

воскресенье, 28 марта 2010 г.

Летнее время, приемники и серверы.

Сегодня ночью переводили часы. И у России теперь не 11 часовых поясов а 9. Ну и все такое. Количество поясов меня мало волнует. Меня волнует то, что на моем сотовом SE W810i часы автоматом не перевелись, а на двух радиоприемниках перевелись. И если про DEGEN 1103 я не удивляюсь, то вот TECSUN DR-920 меня удивляет все больше и больше. Он автоматически перевел время прошлой осенью, тогда я этому тоже удивился, теперь он и вчера ночью перевел свои часы самостоятельно. Интересно как, ведь календаря в нем нет...хм...ну молодцы китайцы, что сказать:)
Вчера приобрел платформочку на базе процессора VIA C3. Компактная мамка, память ддр1, два слота, до 2Гб макс. 2 IDE контроллера, даже флопик можно подключить. Встроенное видео, сеть 100мбит и звук. Так же порадовало наличие COM и LPT. И главное есть 2 PCI слота, то есть туда можно без проблем вставить 2 сеевухи, ибо использовать встроенную религия не позволяет.
В общем, осталось купить БП ватт на 60, достать плашку памяти на 256 метров, переходник IDE-SATA, винт SATA 80Гб, пару сетевух 100Мбит, ну а корпус у меня валяется дома. И получится маленький, тихий (вентилятор 1 на проце) домашний сервачок. Который сможет раздавать инет, качать торренты, хостить сайт, и даже быть игровым серваком. Но самое главное это БП 65 Ватт, тоесть электроэнергии он будет потреблять не намного больше ноутбука и его можно постоянно держать включенным, при этом особо не волнуясь за счета на электроэнергию.

четверг, 1 января 2009 г.

Hello New 2009!!!

Ну вот и наступил Новый Год. Пришел из гостей, немного болит голова, но тем не менее чувствую себя замечательно. Поработал в эфире утром. Сейчас сижу за компом, лопаю мандарины и качаю с дц++ фильмы. Блин а места то все меньше и меньше :)

воскресенье, 13 апреля 2008 г.

Случилось мне как-то стать админом в домашней сетке

Случилось мне как-то стать админом в домашней сетке :)
Сетка наша состоит из 4-х сегментов. Ничего кроме обыкновенных неуправляемых свитчей у нас нет, а вирусы/хакеры/броадкаст и прочая ерунда уже начинают доставать. Благо интернет у нас в сегменте уже появился, и вот одной из бессоных летних ночей набрел я на инфу, которая гласила, что для решения нашей проблемы нужен фильтрующий мост.
В двух словах это комп с 2-мя сетевухами, к одной подключен наш сегмент, а к другой остальная сеть, и мост фильтрует трафик на предмет броадкаста, смены айпи и прочего.
Буквально на следущее утро был найден P2 533MHz 64RAM 1.5Gb HDD. На него был установлен мой любимый Slackware, на тот момент 11 версии. Для реализации задумки необходимы были следущие пакеты:
Первые два уже были установлены вместе с дистрибутивом, а последний пришлось ставить с исходников.
Понемногу обо всех пакетах: ну iptables в представлении не нуждается, а вот bridge-utils как раз таки и является ключевым звеном в мосте, так как именно он реализует виртуальный мост между интерфейсами. Пакет с немного неблагозвучным для русского человека названием :) ebtables служит для той же цели что и iptables, но только работает на более низком уровне управления пакетами(подробнее описывать не буду, кому надо - гоу на домашнюю страницу проекта).
Так вот после того как все это было установлено, а в свежеустановленной системе были произведены минимально необходимые настройки, началось самое интересное, а именно написание конфигов.
В процессе штудирования манов было написано 2 конфига. Один rc.brige в нем находятся правила для поднятия виртуального интерфейса br0 который объединяет в себе 2 интерфейса eth0 и eth1 (первая и вторая сетевухи соответственно).
Второй rc.firewall в нем прописаны все необходимые правила для фильтрации трафика, проходящего через мост. Конфиги были положены в их законное место /etc/rc.d/
Собсно сами конфиги приведены ниже:
rc.bridge

#!/bin/sh

ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0

brctl addbr br0

brctl addif br0 eth0
brctl addif br0 eth1

ifconfig br0 192.168.3.104 netmask 255.255.252.0

brctl stp br0 off

ip link set br0 up
ip link set eth0 up
ip link set eth1 up

Небольшие пояснения: Первые две строки убирают с интерфейсов eth0 и eth1 айпи адреса для того чтобы использовать их в виртуальном мосте. br0 это название интерфейса моста, 192.168.3.104 это адрес под которым мост будет виден в сети, адрес можно и не писать, но тогда не будет доступа по ssh.
Теперь rc.firewall

#!/bin/sh

IPT=/usr/sbin/iptables
EB=/usr/local/sbin/ebtables



$IPT -F INPUT
$IPT -F FORWARD
$IPT -F OUTPUT
$EB -F INPUT
$EB -F FORWARD
$EB -F OUTPUT

/sbin/modprobe ipt_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

# Deny for change ip's

$EB -A FORWARD -i eth1 -p IPv4 --ip-src 192.168.3.0/24 -j DROP
$EB -A FORWARD -i eth0 -p IPv4 --ip-src 192.168.3.0/24 -j ACCEPT
$EB -A FORWARD -i eth0 -p IPv4 --ip-dst 192.168.3.0/24 -j DROP
$EB -A FORWARD -i eth0 -p IPv4 -j DROP

# Deny for any INPUT traffic from eth1

$EB -A INPUT -i eth1 -p IPv4 -j DROP



# *******iptables rules for virtual brige interface*******


# DROP bradcast's and open some port's for games

# Open CS

$IPT -A FORWARD -p udp -m multiport --ports 27015:27020 -j ACCEPT

# Open UT2004

$IPT -A FORWARD -p udp -m multiport --ports 7777:7780 -j ACCEPT

# Drop all broadcast

$IPT -A FORWARD -m pkttype --pkt-type broadcast -j DROP


# Nassy must die

$IPT -A FORWARD -p tcp --dport 56003 -j DROP
$IPT -A FORWARD -p tcp --dport 50138 -j DROP
$IPT -A FORWARD -p tcp --dport 50139 -j DROP
$IPT -A FORWARD -p udp --dport 56003 -j DROP
$IPT -A FORWARD -p udp --dport 50138 -j DROP
$IPT -A FORWARD -p udp --dport 50139 -j DROP
$IPT -A FORWARD -p tcp --dport 50160 -j DROP
$IPT -A FORWARD -p udp --dport 50160 -j DROP

# Vypres must die

$IPT -A FORWARD -p tcp --dport 8165 -j DROP
$IPT -A FORWARD -p tcp --dport 8166 -j DROP
$IPT -A FORWARD -p tcp --dport 8167 -j DROP
$IPT -A FORWARD -p tcp --dport 8168 -j DROP
$IPT -A FORWARD -p tcp --dport 8169 -j DROP
$IPT -A FORWARD -p udp --dport 8165 -j DROP
$IPT -A FORWARD -p udp --dport 8166 -j DROP

# Allow ssh and telnet for Me, deny from all

$IPT -A INPUT -p tcp --source 192.168.3.1 --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp --source 192.168.3.1 --dport 23 -j ACCEPT
$IPT -A INPUT -p tcp --destination 192.168.3.104 --dport 22 -j DROP
$IPT -A INPUT -p tcp --destination 192.168.3.104 --dport 23 -j DROP

# Deny ssh and telnet connect from Big Lan to our network

$IPT -A FORWARD -p tcp --destination 192.168.3.0/24 --dport 22 -j DROP
$IPT -A FORWARD -p tcp --destination 192.168.3.0/24 --dport 23 -j DROP

####--- The packet forwarding part ---####



# Enable ip packet forwarding

echo 1 > /proc/sys/net/ipv4/ip_forward

# Kill the invalid packet's

$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Allow the ESTABLISHED packet's

$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# SYN storm

$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

# UDP storm

$IPT -A INPUT -p udp --destination-port 113 -j REJECT
$IPT -A INPUT -p udp --source-port 67 --destination-port 68 -j ACCEPT
$IPT -A INPUT -p udp -j RETURN
$IPT -A OUTPUT -p udp -j ACCEPT
$IPT -A FORWARD -p udp --destination-port 113 -j REJECT
$IPT -A FORWARD -p udp --source-port 67 --destination-port 68 -j ACCEPT
$IPT -A FORWARD -p udp -j RETURN
$IPT -A FORWARD -p udp -j ACCEPT


# ICMP - redirect

$IPT -A INPUT --fragment -p icmp -j DROP
$IPT -A OUTPUT --fragment -p icmp -j DROP
$IPT -A FORWARD --fragment -p icmp -j DROP

# Allow ping out, control the ping to me

$IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j DROP
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type echo-request -j DROP
$IPT -A INPUT -p icmp -j ACCEPT
$IPT -A FORWARD -p icmp -j ACCEPT

Небольшие пояснения для этого конфига:
В eth0 подключен наш сегмент, адреса 192.168.3.1-254
В eth1 подключена большая сеть, адреса 192.168.0.1-192.168.2.254
Мой адрес 192.168.3.1
В данном конфиге рубится весь броадкаст, разрешается он лишь для контры и ут2004.
Так же запрещается доступ по ssh и telnet из большой сети в нашу, а так же полностью закрыт доступ из большой сети на сам мост(они его просто не видят).
Реализована защита от смены айпи, таким образом если кто-то из большой сети пропишет себе адрес с нашего поддиапазона, то он просто не увидит ни одного компьютера нашего сегмента, так как мост все это блокирует.
Данный мост работает уже больше года и никаких сбоев в работе отмечено не было, со своими обязанностями он справляется, и почти никто из юзеров даже и не догадывается о его существовании.
Вот и все, если что-то не понятно, постараюсь разъяснить....have fun :)