Сначала анекдот с бородой длиннее, чем моя жизнь.
Школьный учитель спрашивает учеников о профессии родителей.
- Тим, чем твоя мама занимается на работе?
Тим встает и гордо говорит:
- Она – доктор.
- Замечательно, ну как насчет тебя, Эмми?
Девочка стеснительно произносит:
- Мой папа разносит почту.
- Спасибо, Эмми, – говорит учитель. – Ну, а твои родители что делают, Билл?
Билл гордо встает и объявляет:
- Мой папа играет музыку в борделе!
Обалдевший учитель решил направиться к Биллу домой.
- В каких условиях вы растите ребенка? – спрашивает он у отца.
Тот отвечает:
- Вообще-то я программист и специализируюсь на TCP/IP – коммуникационном протоколе в системе UNIX. Ну как объяснить это семилетнему пацану?
Имеем хост под FreeBSD 8.2, подключенный к двум независимым провайдерам A и B, каждый из которых выдал по одному публичному IP-адресу и не предоставляет динамической маршрутизации. default route выставлен в канал A плюс средствами ipfw fwd сделан policy-based routing для исходящих пакетов, чтобы они роутились по каналам в зависимости от src IP.
Из канала B приходит TCP SYN на порт, для которого есть правило ipfw reset tcp, генерирующее в ответ TCP RST. Такие RST плюют на pbr и уходят по default route в канал A. Провайдерский маршрутизатор гробит RST и генерирует в ответ ICMP prohibited by filter, который посылает на адрес источника, взятый из пакета RST. ICMP делает круг по интернету (в соответствии с провайдерским BGP) и возвращается к нам через канал B. См. анекдот.
Ночью с коллегами заставили работать WS-SUP720-3BXL в режиме Hot Standby cо старым WS-SUP720-3B (проапгрейженным до 3BXL путем установки WS-F6K-PFC3BXL и дополнительной памяти) в шасси 7604:
#show module Mod Ports Card Type Model Serial No. --- ----- -------------------------------------- ------------------ ----------- 1 2 Supervisor Engine 720 (Active) WS-SUP720-3B SADXXXXXXXX 2 2 Supervisor Engine 720 (Hot) WS-SUP720-3BXL SADYYYYYYYY <skip>
Заодно включили Cisco nonstop forwarding (NSF) для протоколов маршрутизации, включая BGP. На eBGP-линке с Евротелом NSF включился автоматически, на линке с местным ТТК нет и обращение по e-mail в поддержку ничего не дало: "нет технической возможности".
Днём отсыпался.
bgpd & ASN32
2009-04-30 17:12Накануне первомая стал падать bgpd от quagga - делает себе харакири (abort) при получении анонсов ASN32:
Apr 30 16:27:21 gw-ses bgpd[1156]: Assertion `len < str_size' failed in file bgp_aspath.c, line 619, function aspath_make_str_count
Apr 30 16:27:21 gw-ses bgpd[1156]: No backtrace available on this platform.
Apr 30 16:27:21 gw-ses kernel: pid 1156 (bgpd), uid 101: exited on signal 6
Пришлось в срочном порядке патчить:
ftp://www.kuzbass.ru/pub/freebsd/patches/quagga/patch-bgpd-asn4.gz
Update: патч приняли в FreeBSD Ports Collection и quagga-0.99.11_3 уже с ним.