Имеется FreeBSD 6.4 и Postfix 2.5.
Скачиваем собственно сам пакет спамообороны:
spamooborona1024_postfix-2.2.tbz
Устанавливаем:
pkg_add -v spamooborona1024_postfix-2.2.tbz.
Для запуска /usr/local/sbin/sp-postfix требуется библиотека libgcc_s.so.1.
Устанавливаем gcc42:
# cd /usr/ports/lang/gcc42
# make install clean
Перезапускаем postfix (postfix reload) и радуемся жизни.
Tips для fetchmail:
По умолчанию Спамооборона отказазывается проверять письма принимаемые через fetchmail, пишет:
Outgoing mail skipped, origin=127.0.0.1
Что бы работало делаем так, что бы fetchmail доставлял письма на внешний интерфейс:
fetchmail --smtphost mx.case.net.ru
Собственно все здесь http://www.nag.ru/2005/1106/1106.shtml.
Все работает. При тестировании приоритетов трафика – никаких особенных результатов я не получил. Проверял ping’ом и wget’ом – все также работает, ну может быть чуть похуже чем должно было бы.
Работают два потока wget’а. Тянут ISO’шки с разных хостов. Один поток загоняется в queue с весом 99, другой в queue с весом 1. Видно что первый работает как то лучше, но в целом одно и тоже.
Вопрос откладывается до того момента как он действительно нам понадобится.
Раз в сутки стрим делает реконнект, выдавая при этом новый внешний ип. Небольшой watchdog для rtorrent’а на этот случай.
rtorrent.sh:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #!/bin/sh
while true
do
if [ "`ifconfig | grep ng0`" ];
then
if [ "`ifconfig ng0|grep inet`" ];
then
ip_s=`ifconfig ng0|grep inet|awk '{print $2}'`
cat /usr/home/case/.rtorrent.rc.stream | sed -e "s/bind=.*/bind=$ip_s/" | sed -e "s/ip=.*/ip=$ip_s/" > /tmp/1
mv /tmp/1 /usr/home/case/.rtorrent.rc.stream
rtorrent -n -o import=/usr/home/case/.rtorrent.rc.stream
fi
fi
sleep 5
done |
mpd-down-stream.sh
Вместо запуска нескольких natd для разных нужд, можно сделать несколько instance’ов.
natd.conf:
same_ports yes
use_sockets yes
port 8668
interface vlan3
instance
interface vlan15
port 8669
instance
interface ng0
port 8670
dynamic yes
Разрешить доступ на 2-м порту коммутатора только для определенного mac-адреса.
DES-3226S:4#config ports 2 learning disable
DES-3226S:4#create fdb default 00-12-58-A8-AA-46 port 2
DES-3226S:4#config port_security ports 2 max_learning_addr 0
DES-3226S:4#config port_security ports 2 lock_address_mode Permanent
DES-3226S:4#config port_security ports 2 admin_state enable
Собственно, объединение каналов.
Со стороный FreeBSD rc.conf выглядит так:
cloned_interfaces="lagg0"
ifconfig_fxp0="up"
ifconfig_fxp1="up"
ifconfig_lagg0="laggproto lacp laggport fxp0 laggport fxp1 172.16.127.1 netmask 255.255.255.0"
Со стороны DES-3226S:
DES-3226S:4#config lacp_port 19-20 mode active
DES-3226S:4#create link_aggregation group_id 1 type lacp
DES-3226S:4#config link_aggregation group_id 1 master_port 19 ports 19-20 state enable
ifconfig lagg0:
lagg0: flags=8843 mtu 1500
options=8
inet 172.16.127.1 netmask 0xffffff00 broadcast 172.16.127.255
ether 00:02:b3:5c:21:60
media: Ethernet autoselect
status: active
laggproto lacp
laggport: fxp1 flags=1c
laggport: fxp0 flags=1c
Сервер с коммутатором в процессе работы обмениваются пакетами о состоянии каналов. Fail tolerance and load balancing.