05.12.2013 18:53, Sergey Kobzar пишет:
Последние года 2 использую MikroTik в качетве маршрутизаторов.
Функционала - с головой. Цена - адекватная. Интерфейс пользователя - на
выбор. В частности работают схемы с несколькими каналами, DPD, failover,
load balancing и пр.
Впечатления только позитивные.
У меня тоже позитивные, но не хватает многого. И переход на микротики
сокращает пользовательскую базу :(, хотя конечно поддерживать их легче.
Опишу схему, которая дома, она же тренировочная для внедрения в разных
местах:
2 провайдера, у обоих езернет с DHCP, у одного по-видимому ip source
guard. Оба отдают iptv мультикастом. Иногда включаю 3g, тогда то чего не
хватает, добавляет up-script mpd.
[root@home /home/zaika]# ipfw l
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
60010 nat 10 ip from 192.168.0.0/24 to any out xmit vlan3
60020 nat 10 ip from any to 91.241.225.84 in recv vlan3
60070 nat 70 ip from 192.168.0.0/24 to any out xmit vlan5
60080 nat 70 ip from any to 109.254.58.81 in recv vlan5
61010 fwd 91.241.225.1 ip from 91.241.225.84 to any out { xmit vlan5 or
xmit ng0 }
61070 fwd 109.254.58.1 ip from 109.254.58.81 to any out { xmit ng0 or
xmit vlan3 }
65000 allow ip from any to any
65535 deny ip from any to any
[root@home /home/zaika]# cat /etc/dhclient.conf
# $FreeBSD: src/etc/dhclient.conf,v 1.3.34.1 2009/04/15 03:14:26
kensmith Exp $
#
# This file is required by the ISC DHCP client.
# See ``man 5 dhclient.conf'' for details.
#
# In most cases an empty file is sufficient for most people as the
# defaults are usually fine.
#
interface "vlan5" {
supersede domain-name-servers 127.0.0.1;
supersede domain-name "home.doct.org.ua";
}
interface "vlan3" {
supersede domain-name-servers 127.0.0.1;
supersede domain-name "home.doct.org.ua";
}
[root@home /home/zaika]# cat /etc/dhclient-exit-hooks
case $reason in (BOUND|RENEW|REBIND|REBOOT)
if [ "$interface" = "vlan5" ]; then
if ! route get default $new_routers; then
route -q add default $new_routers
fi
route -q add 109.254.49.3 $new_routers
route -q add 193.108.38.233 $new_routers
#torrent
route -q add 172.17.254.9 $new_routers
#radio
route -q add 172.17.254.5 $new_routers
#maybe other :)
route -q add 172.17.254.0/24 $new_routers
fi
if [ "$interface" = "vlan3" ]; then
if ! route get default $new_routers; then
route -q add default $new_routers
fi
route -q add 10.1.1.17 $new_routers
route -q add 10.1.1.18 $new_routers
route -q add 10.1.0.0/16 $new_routers
route -q add 10.0.0.254 $new_routers
route -q add 10.0.0.250 $new_routers
fi
;;
в ifstated.conf все работает через fib 1, например:
ogo_inet = '( "setfib 1 ping -S `/usr/local/etc/scripts/ifip.sh ng0` -q
-c 10 -W 10 -i 0.5 213.180.204.3 || \
setfib 1 ping -S `/usr/local/etc/scripts/ifip.sh ng0` -q -c 10 -W 10 -i
0.5 74.125.43.104" every 300)'
run "setfib 1 route add default `/usr/local/etc/scripts/dhclifgw.sh vlan5`"
run "setfib 1 route add default `/usr/local/etc/scripts/dhclifgw.sh vlan3`"
run "setfib 1 route add default `/usr/local/etc/scripts/ngifgw.sh ng0`"
Мультикаст принимает udpxy.
Кроме того во фре можно решить задачу с пробросом портов на внутренний
хост через насколько внешних интерфейсов, это у меня сильно ограничивает
переход на микротики, много где нужно.
https://groups.google.com/forum/#!topic/uafug/zD7fJWDzxAM
Как в микротике реализовать не придумал. С dhclient-exit-hooks тоже
непонятно, но хоть статики можно поделать.