Hi all, I hope that someone here on the list could give me some hints on how I can make my setup working.
I have the following setup:
"Virtual server 1" is connected to "Virtual server 2" via egre over ipsec on
both sides I’m using a bridge and a vether interface.
Both virtual servers are located at different hosters and have public ip
addresses.
Between them the mentioned private connection is always coming up and working
(I can ping 192.168.79.1 / 192.168.79.2 from each other)
In addition I have my router at home which connects via separate egre over
ipsec with a bridge and a vether interface connections
to each of the virtual servers. This router unfortunately has only a dynamic
ipv4 address.
The connection between the router and the virtual servers is for some reason
not coming up completely.
To my analysis so far it seems that the router bridge learns the Mac addresses
of the remote virtual servers vether interfaces, but for
some reason the bridges on the virtual servers do not learn the address of the
routers vether interface.
tcpdump does show traffic coming into enc0, but it never reaches the bridge,
even with pf disabled.
As I can ping the interface with ip 192.168.66.1 from each of the virtual
servers on the router, I’m leaving out the iced configuration.
If this is needed I could also provide it.
Find here the corresponding configurations of each of the machines:
Virtual server 1:
(Working between virtual server 1 and 2)
/etc/hostname.bridge0
add vether0
add egre0
up
/etc/hostname.vether0
mtu 1500
inet 192.168.79.1/24
up
/etc/hostname.egre0
mtu 1500 -tunneldf
tunnel a.b.c.d w.x.y.z
vnetid 12
up
(Not working between virtual server 1 and router)
/etc/hostname.bridge2
add vether1
add egre1
up
/etc/hostname.vether1
mtu 1500
inet 192.168.80.1/24
up
/etc/hostname.egre1
mtu 1500 -tunneldf
tunnel a.b.c.d 192.168.66.1
vnetid 31
up
Virtual server 2:
(Working between virtual server 1 and 2)
/etc/hostname.bridge0
add vether0
add egre0
up
/etc/hostname.vether0
mtu 1500
inet 192.168.79.2/24
up
/etc/hostname.egre0
mtu 1500 -tunneldf
tunnel w.x.y.z a.b.c.d
vnetid 12
up
(Not working between virtual server 1 and router)
/etc/hostname.bridge2
add vether2
add egre2
up
/etc/hostname.vether2
mtu 1500
inet 192.168.81.1/24
up
/etc/hostname.egre2
mtu 1500 -tunneldf
tunnel w.x.y.z 192.168.66.1
vnetid 32
up
Router:
/etc/hostname.bridge0
add vether1
add egre1
up
/etc/hostname.vether1
mtu 1500
inet 192.168.80.2/24
up
/etc/hostname.egre1
mtu 1500 -tunneldf
tunnel 192.168.66.1 a.b.c.d
vnetid 31
up
/etc/hostname.bridge2
add vether2
add egre2
up
/etc/hostname.vether2
mtu 1500
inet 192.168.81.2/24
up
/etc/hostname.egre2
mtu 1500 -tunneldf
tunnel 192.168.66.1 w.x.y.z
vnetid 32
up
As an example I provide here the output of ifconfig for the relevant interfaces
on virtual server 1 (ipv6 stuff removed):
vio0:
flags=e08843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6,INET6_NOSOII,AUTOCONF4>
mtu 1500
lladdr 56:00:03:8c:96:8c
index 1 priority 0 llprio 3
groups: egress
media: Ethernet autoselect
status: active
inet a.b.c.d netmask 0xfffffe00 broadcast 199.247.3.255
enc0: flags=41<UP,RUNNING>
index 2 priority 0 llprio 3
groups: enc
status: active
bridge0: flags=41<UP,RUNNING> mtu 1500
index 4 llprio 3
groups: bridge
priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp
egre0 flags=3<LEARNING,DISCOVER>
port 6 ifpriority 0 ifcost 0
vether0 flags=3<LEARNING,DISCOVER>
port 8 ifpriority 0 ifcost 0
bridge2: flags=41<UP,RUNNING> mtu 1500
index 5 llprio 3
groups: bridge
priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp
egre1 flags=3<LEARNING,DISCOVER>
port 12 ifpriority 0 ifcost 0
vether1 flags=3<LEARNING,DISCOVER>
port 9 ifpriority 0 ifcost 0
egre0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
lladdr fe:e1:ba:d0:b9:3c
index 6 priority 0 llprio 3
encap: vnetid 12 txprio 0 rxprio packet
groups: egre
tunnel: inet a.b.c.d --> w.x.y.z ttl 64 nodf
vether0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
lladdr fe:e1:ba:d2:eb:05
index 8 priority 0 llprio 3
groups: vether
media: Ethernet autoselect
status: active
inet 192.168.79.1 netmask 0xffffff00 broadcast 192.168.79.255
vether1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
lladdr fe:e1:ba:d3:94:e9
index 9 priority 0 llprio 3
groups: vether
media: Ethernet autoselect
status: active
inet 192.168.80.1 netmask 0xffffff00 broadcast 192.168.80.255
egre1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
lladdr fe:e1:ba:d4:c5:8f
index 12 priority 0 llprio 3
encap: vnetid 31 txprio 0 rxprio packet
groups: egre
tunnel: inet a.b.c.d --> 192.168.66.1 ttl 64 nodf
And here the router side (ipv6 stuff removed):
em0:
flags=808b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST,AUTOCONF4>
mtu 1500
lladdr 00:0d:b9:44:ec:dc
description: External Connection 1 Cable
index 1 priority 0 llprio 3
groups: egress
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet e.f.g.h netmask 0xffffff00 broadcast 95.89.130.255
enc0: flags=41<UP,RUNNING>
index 4 priority 0 llprio 3
groups: enc
status: active
bridge0: flags=41<UP,RUNNING> mtu 1500
index 6 llprio 3
groups: bridge
priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp
designated: id 00:00:00:00:00:00 priority 0
egre1 flags=3<LEARNING,DISCOVER>
port 8 ifpriority 0 ifcost 0
vether1 flags=3<LEARNING,DISCOVER>
port 14 ifpriority 0 ifcost 0
Addresses (max cache: 100, timeout: 240):
fe:e1:ba:d3:94:e9 egre1 1 flags=0<>
bridge2: flags=41<UP,RUNNING> mtu 1500
index 36 llprio 3
groups: bridge
priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp
designated: id 00:00:00:00:00:00 priority 0
egre2 flags=3<LEARNING,DISCOVER>
port 9 ifpriority 0 ifcost 0
vether2 flags=3<LEARNING,DISCOVER>
port 15 ifpriority 0 ifcost 0
Addresses (max cache: 100, timeout: 240):
fe:e1:ba:d3:42:9c egre2 1 flags=0<>
egre1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
lladdr fe:e1:ba:d0:dc:c9
index 8 priority 0 llprio 3
encap: vnetid 31 txprio 0 rxprio packet
groups: egre
tunnel: inet 192.168.66.1 --> a.b.c.d ttl 64 nodf
egre2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
lladdr fe:e1:ba:d1:4f:4c
index 9 priority 0 llprio 3
encap: vnetid 32 txprio 0 rxprio packet
groups: egre
tunnel: inet 192.168.66.1 --> w.x.y.z ttl 64 nodf
vether1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
lladdr fe:e1:ba:d2:ac:6b
index 14 priority 0 llprio 3
groups: vether
media: Ethernet autoselect
status: active
inet 192.168.80.2 netmask 0xffffff00 broadcast 192.168.80.255
vether2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
lladdr fe:e1:ba:d3:80:aa
index 15 priority 0 llprio 3
groups: vether
media: Ethernet autoselect
status: active
inet 192.168.81.2 netmask 0xffffff00 broadcast 192.168.81.255
Doing a tcpdump, when pinging from router to virtual server I see arp requests
on enc0, but no responses, the traffic never shows up on bridge2 (even with pf
disabled)
tcpdump -nvveei enc0 host e.f.g.h
tcpdump: listening on enc0, link-type ENC
11:11:46.538947 (authentic,confidential): SPI 0xb20636b0: e.f.g.h > a.b.c.d:
e.f.g.h > a.b.c.d: gre [K] 6558 key=31|0+1f fe:e1:ba:d2:ac:6b ff:ff:ff:ff:ff:ff
0806 42: arp who-has 192.168.80.1 tell 192.168.80.2 (ttl 64, id 46024, len 70)
(ttl 54, id 49233, len 90)
Many thanks for any hints that could help me make this work!
Bedst rewards
Markus
signature.asc
Description: Message signed with OpenPGP

