Приведу пример IPTables правил для BGP.
Допустим политики по умолчанию такие (а также открыты порты для ssh и прочего необходимого):
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Так как BGP использует порт 179/tcp, то его нужно открыть для соседей с которыми устанавливается соединение, например:
iptables -A INPUT -p tcp -s 192.168.5.5 --dport 179 -i eth1 -j ACCEPT
Telnet zebra обычно работает на порту 2601, а telenet quagga/bgpd на порту 2605, по этому откроем их для localhost:
iptables -A INPUT -s 127.0.0.1 -p tcp --dport 2601 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -p tcp --dport 2605 -j ACCEPT
Или откроем все порты для localhost:
iptables -A INPUT -i lo -j ACCEPT
Если в iptables добавлено правило ниже, то порт 179 можно не открывать так как сессия поднимется при исходящем соединении (но в этом случае будет использоваться conntrack, который на бордере обычно не нужен):
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Смотрите также мои статьи:
Настройка IPTables
Настройка BGP в Quagga
BIRD BGP: Unexpected connect from unknown address
BGP. Балансировка каналов на Quagga