И так, вот информация о состояние серверов и их таблиц маршрутизации:
(условно будем называть их srv1 и srv2)
На первом сервере перед выполнении команды
ifconfig gif0 inet 192.168.0.1 192.168.1.1 netmask 0xffffffff
srv1# ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE>
ether e:11:5b:e3:a2:7a
inet srv1_ip netmask 0xfffffff8 broadcast my_broadcast_ip
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE>
ether e4:11:5b:e3:a2:7b
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (none)
status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet srv1_ip --> srv2_ip
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>Также в этом сервере
srv1# netstat –rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default my_gateway_ip UGS bge0
77.95.1.232/29 link#1 U bge0
srv1_ip link#1 UHS lo0
127.0.0.1 link#3 UH lo0
192.168.0.0/24 link#2 U bge1
192.168.0.1 link#2 UHS lo0
Internet6:
Destination Gateway Flags Netif Expire
::/96 ::1 UGRS lo0
::1 link#3 UH lo0
::ffff:0.0.0.0/96 ::1 UGRS lo0
fe80::/10 ::1 UGRS lo0
fe80::%lo0/64 link#3 U lo0
fe80::1%lo0 link#3 UHS lo0
ff01::%lo0/32 ::1 U lo0
ff02::/16 ::1 UGRS lo0
ff02::%lo0/32 ::1 U lo0
В этом же сервере после выполнении команды
srv1# ifconfig gif0 inet 192.168.0.1 192.168.1.1 netmask 0xffffffff
srv1# srv1# netstat –rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default my_gateway_ip UGS bge0
77.95.1.232/29 link#1 U bge0
srv1_ip link#1 UHS lo0
127.0.0.1 link#3 UH lo0
192.168.0.0/24 link#2 U bge1
192.168.0.1 link#2 UHS lo0
192.168.1.1 link#4 UH gif0
Internet6:
Destination Gateway Flags Netif Expire
::/96 ::1 UGRS lo0
::1 link#3 UH lo0
::ffff:0.0.0.0/96 ::1 UGRS lo0
fe80::/10 ::1 UGRS lo0
fe80::%lo0/64 link#3 U lo0
fe80::1%lo0 link#3 UHS lo0
ff01::%lo0/32 ::1 U lo0
ff02::/16 ::1 UGRS lo0
ff02::%lo0/32 ::1 U lo0
На другом сервере
srv2# Ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
ether a4:5d:36:c4:40:20
inet srv2_ip netmask 0xfffffff8 broadcast my_broadcast_ip
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
ether a4:5d:36:c4:40:21
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (none)
status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet srv2_ip --> srv1_ip
inet 192.168.1.1 --> 192.168.0.1 netmask 0xffffffff
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
srv2# netstat – rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default my_gateway_ip UGS bge0
77.95.1.232/29 link#1 U bge0
srv2_ip link#1 UHS lo0
127.0.0.1 link#3 UH lo0
192.168.0.1 link#4 UH gif0
192.168.1.0/24 link#2 U bge1
192.168.1.1 link#2 UHS lo0
Internet6:
Destination Gateway Flags Netif Expire
::/96 ::1 UGRS lo0
::1 link#3 UH lo0
::ffff:0.0.0.0/96 ::1 UGRS lo0
fe80::/10 ::1 UGRS lo0
fe80::%lo0/64 link#3 U lo0
fe80::1%lo0 link#3 UHS lo0
ff01::%lo0/32 ::1 U lo0
ff02::/16 ::1 UGRS lo0
ff02::%lo0/32 ::1 U lo0
Обратите внимание на строку inet 192.168.1.1 --> 192.168.0.1 netmask 0xffffffff в резултате команды ifconfig она появляется только после команды ifconfig gif0 inet 192.168.0.1 192.168.1.1 netmask 0xffffffff (на обоих серверах) не смотря на то что в rc.conf на обеих серверах есть данная команда (ifconfig_gif0 =”inet 192.168.0.1 192.168.1.1 inet 0xffffffff”) в каждом сервере соответственно. Естественно до введение данной команды пинги даже между самими серверами отсутствуют, а после появятся только между серверами. И ещё, в таблице маршрутизации есть маршрут только до серверов (192.168.0.1 192.168.1.1 соответственно) а вот для сетей 192.168.0.0/24 и 192.168.1.0/24 не высвечивается, не смотря на то что она тоже в файле rc.conf существует в таком виде:
static_routes=”vpn”
route_vpn=”192.168.0.0/24 –interface gif0”
НО! Даже после ручного ввода роута пинги с хостов друг к другу или даже к другому серверу и обратно не идут. Точнее пакеты поступают только до виртуального интерфейса gif0 , а ответов так и нет (просмотр через tcpdump). Вот я и подумал что бридж между gif0 и физическим внутренним интерфейсом это решить. Думаю в старой версии FreeBSD данную проблему разрешалось самой системой а в 10-ом почему то убрали, потому как там кроме всего вышесказанного ничего не надо было, и всё работала. Кстати, внешние адреса серверов из одной подсети, они вообще физический подсоединены в одном простом коммутаторе. И ещё, не влияет ли на всё это включенная поддержка IPv6? По моему я несу ерунду, ведь это же уровень три, ладно вот и всё на сегодня.