воскресенье, 19 августа 2012 г.

Уже не новая нумерация BGP AS - автономных систем 32-битная

Документ: http://tools.ietf.org/html/rfc4893
Сейчас практически на всем новом оборудовании номера автономок 32-битные (вместо ранее использовавшихся 16-битных с приватными номерами от 64512 до 65535). Используется все это ажно с 2008 года.
О правилах передачи номеров в атрибутах апдейтов:
...
4.1. Interaction Between NEW BGP Speakers

A BGP speaker that supports 4-octet Autonomous System numbers SHOULD
advertise this to its peers using the BGP Capability Advertisements.
A BGP speaker that advertises such capability to a particular peer,
and receives from that peer the advertisement of such capability MUST
encode Autonomous System numbers as 4-octet entities in both the
AS_PATH and the AGGREGATOR attributes in the updates it sends to the
peer, and MUST assume that these attributes in the updates received
from the peer encode Autonomous System numbers as 4-octet entities.

The new attributes, AS4_PATH and AS4_AGGREGATOR SHOULD NOT be carried
in the UPDATE messages between NEW BGP peers. A NEW BGP speaker that
receives the AS4_PATH and AS4_AGGREGATOR path attributes in an UPDATE
message from a NEW BGP speaker SHOULD discard these path attributes
and continue processing the UPDATE message.

4.2. Interaction Between NEW and OLD BGP Speakers

4.2.1. BGP Peering

Note that peering between a NEW BGP speaker and an OLD one is
possible only if the NEW BGP speaker has a 2-octet AS number.
However, this document does not assume that an Autonomous System with
NEW speakers has to have a globally unique 2-octet AS number --
AS_TRANS could be used instead (even if a multiple Autonomous System
would use it).
...
Из настроек Циски:
hostname (config)#router bgp ?
<1-4294967295> Autonomous system number
<1.0-XX.YY> Autonomous system number
Про записи второго asdot вида рассказывают тут: http://tools.ietf.org/html/rfc5396

Полезняшка. SSH/Telnet клиент с табами и настройкой copy/paste как в виндовом Putty

Давно искал под Ubuntu SSH клиента с функционалом, близким к виндовому Putty Connection Manager. То есть интересовало наличие табов с возможностью сохранить конекшены и копирование выделением мышью и вставка правой клавишей. Такая прога нашлась (я только что о ней узнал...): gnome-connection-manager
http://kuthulu.com/gcm/gnome-connection-manager_1.1.0_all.deb
Затачивается под себя в лучшем виде!

Появление новых интерфейсов ethN при смене MAC адресов

При миграции или перемещении виртуальной машины (в моем случае под Virtual Box) при ее старте в логах присутствуют сообщения вида:
dmesg | grep network
udev[xxx]: renamed network interface eth0 to ethN
Это происходит по причине привязки MAC адреса виртуальной сетевухи к номеру интерфейса. Также, так как IP адреса назначены на "старые" интерфейсы (eth0, eth1...), то новосозданные eth2... без сетевых настроек.
Для решения этой проблемы редактируем файл
sudo vim /etc/udev/rules.d/70-persistent-net.rules
Исправляем мак-адреса интерфейсов для нужных eth0/eth1, пользуясь новыми записями (ниже в файле), а эти новые записи затираем:
...
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:4a:90:da", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
...
# PCI device 0x8086:0x1004 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:84:48:e3", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
...
Жирным выделены МАСи, которые нужно "махнуть не глядя", а вторую запись потом удалить.

среда, 15 августа 2012 г.

Протокол ISIS на SVI интерфейсах - ошибка вида CLNS-3-BADPACKET: ISIS: LAN Ln hello, packet (xxxx) or wire (yyyy) length invalid from

При активации динамического протокола маршрутизации на SVI интерфейсах L3 коммутаторов (catalyst 3750 >), из-за разницы в MTU для адресации CLNS и IP, состояние смежности не устанавливается с появлением сообщения об ошибке вида:
CLNS-3-BADPACKET: ISIS: LAN Ln hello, packet (xxxx) or wire (yyyy) length invalid from _mac_addr_...(SVI)
Данное сообщение рассматривалось в багтраке Циско:
http://www.cisco.com/en/US/docs/ios/12_2sr/release/notes/122SRcavs2.html
с советом:
CSCtk47960
Symptoms: Large CLNP packets may be dropped when forwarded over SIP- 200/Flexwan2 module. Header Syntax errors may be recorded on receiving host.
Remote side will generate the following:
%CLNS-3-BADPACKET: ISIS: L1 LSP, packet (902) or wire (896) length invalid
Conditions: This symptom is seen on Cisco 7600 switch with SIP-200 line card that is running Cisco IOS 12.2(33)SRD3 and later releases.
Issue is seen when packets larger than 911 bytes are sent (Payload and Header).
Workaround: If CLNS is only used for ISIS neighborships "no isis hello padding" can be configured to establish ISIS neighborship. For the LSP packets, configure lns-mtu 903 under router isis on the Cisco 7600 to make this work.
По факту для решения: не отключаем
router isis
 hello padding
Проверим размер MTU для CLNS:
show clns int vlan N
обычно по-умолчанию используется размер пакета 1497, для IP MTU по-умолчанию 1500.
Чтобы не было проблем с установлением смежности (ISIS использует для этого настроенный NSAP адрес), выравниваем оба MTU и активируем протокол на SVI интерфейсе:
interface vlan 2
 clns mtu 1400
 ip mtu 1400
 ip router isis
В результате получаем новые записи в таблице маршрутов.


среда, 8 августа 2012 г.

Веб интерфейс для VirtualBox - phpvirtualbox

Для удаленного руления виртуалками на десктопе, без VNC и прочих Иксов, обнаружит тут этот самый веб интерфейс. В процессе установки вскрылась парочка граблей, к счастью, успешно преодоленных.
Итак десктоп Ubuntu 10.04 с беспроводкой (это важно, так как одни грабли заключаются именно в этой беспроводке), ставим на него веб сервер с соответствующими модулями (сам VirtualBox уже установлен).
sudo apt-get update
sudo apt-get install apache2 libapache2-mod-php5
cd /var/www
sudo mkdir vboxphp
cd vboxphp
качаем туда сабж:
sudo wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-7.zip
и распаковываем
unzip phpvirtualbox-4.1-7.zip
Теперь настроим конфиги, которыми веб-морда будет пользоваться:
sudo vim /etc/default/virtualbox
  VBOXWEB_USER=mik17
  VBOXWEB_HOST=172.17.17.101
в данном случае, указаны логин "хозяина" будущих и текущих виртуалок, а также адрес беспроводного интерфейса.
sudo cp /var/www/vboxphp/phpvirtualbox-4.1-7/config.php-example /var/www/vboxphp/phpvirtualbox-4.1-7/config.php
Копируем шаблон конфига и правим его:
sudo vim /var/www/vboxphp/phpvirtualbox-4.1-7/config.php
...
/* Username / Password for system user that runs VirtualBox */
var $username = 'mik17';
var $password = '***';

/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
var $location = 'http://172.17.17.101:18083/';
...
Проверяем статус сервиса Web VirtualBox (vboxweb-service):
sudo /etc/init.d/vboxweb-service status
несмотря на то, что статус сервиса running, в выводе netstat'а нет прослушиваемого порта 18083. В результате при обращении на страницу веб-морды после аутентификации будет выдаваться ошибка о невозможности соединиться с сервисом на этом порту. Причина в том, что беспроводной интерфейс получает сетевые параметры после аутентификации пользователя, так что для открытия порта на прослушивание нужно перезапустить сервис:
sudo /etc/init.d/vboxweb-service stop
sudo /etc/init.d/vboxweb-service start
Проверим порты:
netstat -a | grep LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 mik17-note.local:18083 *:* LISTEN
Теперь, скорее всего веб интерфейс заведется, но может и выдать такую ошибку (это вторые грабли):
- error - "Error logging to vboxwebsrv".
Лечится данный недуг так:
VBoxManage setproperty websrvauthlibrary default
В результате получаем удаленное управление виртуалками на ноуте.

вторник, 7 августа 2012 г.

Разрешение доменных имен в Ubuntu 12.04 Desktop.

На рабочей станции под последней Убунтой после установки обновлений и перезагрузке перестали разрешаться доменные имена - косяк с DNS. В процессе поиска решения, заметил, что эта бага проявилась у достаточно большого количества народа. Часть решения нашел здесь:
http://hardc0l2e.wordpress.com/2012/05/09/ubuntu-12-04-etcresolv-conf-127-0-0-1-implementation-with-dnsmasq/
--
Ubuntu 12.04 /etc/resolv.conf 127.0.0.1 implementation with dnsmasq

Posted by hardc0l2e on May 9, 2012

On the current version of Ubuntu (12.04), you might notice that the current /etc/resolv.conf file always record a nameserver 127.0.0.1 which then resolv dns via dnsmasq, but most of the time after test few things, I found it more problematic. It always disregard my local DNS server, and goes directly to the DNS of my ISP.

If you’re having the same problem like mine, here’s a quickfix:

1. Modify the configuration /etc/NetworkManager/NetworkManager.conf
$> sudo gedit /etc/NetworkManager/NetworkManager.conf

2. Comment the line that contain “dns=dnsmasq“
[main]
...
#dns-masq

3. Then restart the network-manager
$> sudo service network-manager restart

4. Done
--
В моем случае, я дополнительно поправил /etc/network/interfaces (чисто по привычке) и создал файлик:
sudo vim /etc/resolv.conf
  nameserver 4.2.2.2
  nameserver 8.8.8.8
После рестарта сервиса sudo /etc/init.d/networking restart (да, пишут, что данный формат команд устарел), проблем с разрешением имен уже не возникло. С нетерпением жду следующего обновления, когда снова придется восстанавливать работоспособность напильником и матом.
В общем, после релиза 10.04 убунтовцы реально много косорезят...

четверг, 2 августа 2012 г.

Соответствие команд настройки Cisco - Vyatta.

Взято отсюда: http://www.openmaniak.com/vyatta_compare.php

Собственно, содержимое:

Here is a non-exhaustive list of some Vyatta commands compared to Cisco commands.
Vyatta Version used: VC2

----- VYATTA OPERATIONAL MODE COMMANDS -----
 
ping
traceroute
show arp
show ip ospf neighbor
show ip ospf database
show ip route
show ip route | include
show ip interfaces

show ip bgp neighbors
show ip bgp
show clock
show ntp associations
show ip dhcp binding
show ip dhcp server statistics
show vrrp all
show ip nat translations
show ip nat statistics
ping
traceroute
show arp
show ospf4 neighbor
show ospf4 database
show route
show route | match ...
show interfaces ethernet ... physical
show interfaces ethernet ... statistics
show bgp peers
show bgp routes
show host date
show ntp associations
show dhcp lease
show dhcp statistics
show vrrp
show nat rules
show nat statistics

----- VYATTA CONFIGURATION MODE COMMANDS -----
 
SAVE
copy run tftp
N/A
save tftp://ip/name
save /mnt/floppy/config/config.boot
SHOW
show show running-config
HELP
N/A help
SET SERVICE
ip server http
line vty 0 4
  password
crypto key generate rsa
(only on some IOS versions)
set service http
set service telnet

set service ssh
 

ip dhcp pool
  network
  default-router


ip dhcp excluded-address
set service dhcp-server name
edit service dhcp-server name
  set start ... stop
  set default-router
  set network-mask
  set interface
  set exclude
SET SYSTEM


ip domain-name
ip default-gateway
hostname
username � password
ntp server
ip name-server
terminal monitor
clock timezone
set system domain-name
set system gateway-address
set system host-name
set system login
set system ntp-server
set system name-server
set system syslog console
set system time-zone
logging
logging facility
logging trap
set system syslog host
set system syslog host ... facility
set system syslog host ... facility ... level
SET PROTOCOLS ...
INTERFACES
interface
  set description
  ip address
  duplex
  speed


  vrrp ... ip
  vrrp ... priority

edit interfaces
  set description
  set address ... prefix-length
  set duplex
  set speed

  set vrrp vrrp-group
  set vrrp ... virtual-address
  set vrrp priority
OSPF

router ospf 1
  router-id
  network ... area
  area ... stub|nssa

set protocols ospf4
edit protocols ospf4
  set router-id
  set area ... interface eth1 address
  set area ...area-type stub|nssa
STATIC
ip route

set protocols static route ...next-hop ...
BGP
 
router bgp
  bgp router-id
 
 
 
  neighbor ... remote-as

set protocols bgp
edit protocols bgp
  set bgp-ig
  set local-as
  set peer ...next-hop
  set peer ... local-ip
  set peer ... as
SNMP
snmp-server community ... ro|rw
snmp-server community ... ACL
snmp-server location
snmp-server contact
 
set protocols snmp community ... authorization ro|rw
set protocols snmp community ... client
set protocols snmp location
set protocols snmp contact