Доброго времени суток. 3 машины, (194.135.107.161, 194.135.107.162, 194.135.107.163), между ними построены gre-туннели от каждой к каждой, т.е. по 2 gre интерфейса на каждой. На примере 194.135.107.163:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 194.135.107.163
netmask 255.255.255.0
network 194.135.107.0
broadcast 194.135.107.255
gateway 194.135.107.238
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 194.135.107.1
auto gre1
iface gre1 inet static
address 10.0.2.3
netmask 255.255.255.248
pre-up ip tunnel add gre1 mode gre local 194.135.107.163 remote 194.135.107.161
post-down ip tunnel del gre1
up route add -host 10.0.2.1 dev gre1
up route del -net 10.0.2.0/29 dev gre1
auto gre2
iface gre2 inet static
address 10.0.2.3
netmask 255.255.255.248
pre-up ip tunnel add gre2 mode gre local 194.135.107.163 remote 194.135.107.162
post-down ip tunnel del gre2
up route add -host 10.0.2.2 dev gre2
up route del -net 10.0.2.0/29 dev gre2
Как видно, адрес одинаковый (10.0.2.3), чтобы это работало, удаляю «connect» маршруты и добавляю индивидуальные. На остальных машинах также. Работает нормально. НО при создании правил netfilter получаю проблему: если правило
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -i eth0 -p gre -j ACCEPT
iptables -A INPUT -i gre1 -j ACCEPT