Добрый день! Начальством поставлена задача о замене помирающего сервера на новый. За просрок по задаче уже должен 29 литров пива. ;D Все настроенно, но есть одна проблема с OSPF и nat-правилами, а именно:
Есть роутер с ОС Ubuntu Server 16.04. На нем 2 интерфейса-один в Интернет с пулом адресов 188.94.xx.xx, второй для локальной сети с адресом 192.168.0.22. В сети есть еще 3 сервера с OSPF: 2 роутера с пулами адресов в Интернет и локальными адресами 192.168.0.21 и 192.168.0.4, 1 сервер-«корневой маршрутизатор» с локальным адресом 192.168.0.27. За серверами десятки локальных сетей. Сервера 192.168.0.4, 192.168.0.21 и 192.168.0.22 выводят все эти сети в Интернет. Поэтому nat обязателен.
При запуске скрипта с nat-правилами на сервере 192.168.0.22 не работает OSPF. В логах пишет следующее:
2017/03/29 16:36:32 OSPF: Link State Update: Neighbor[192.168.0.27] state Init is less than Exchange 2017/03/29 16:36:32 OSPF: Link State Update: Neighbor[192.168.0.21] state Init is less than Exchange 2017/03/29 16:37:02 OSPF: Link State Acknowledgment: Neighbor[192.168.0.27] state Init is less than Exchange 2017/03/29 16:37:02 OSPF: Link State Acknowledgment: Neighbor[192.168.0.21] state Init is less than Exchange
Конфиг OSPF: hostname pl-route
password quagga
enable password quagga
router ospf
ospf router-id 192.168.0.22
network 192.168.0.0/24 area 0
interface eth0
log file /var/log/quagga/ospfd.log
Конфиг Zebra:
hostname pl-route
password quagga
enable password quagga
log file /var/log/quagga/zebra.log
interface eth0
Скрипт с nat-правилами:
iptables -t nat -A POSTROUTING -s 0/0 -d 192.168.0.0/24 -j RETURN
iptables -t nat -A PREROUTING -s 0/0 -d 188.94.xx.xx -j NETMAP --to 192.168.0.0/24
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -j SNAT --to-source 188.94.xx.xx
Если скрипт с nat убрать при загрузке ОС, то OSPF начинает работать корректно. Как заставить OSPF работать с nat-правилами???