[Xorp-users] routing multicast with a tunnel using openvpn
Laurent Foucher
laurent.foucher@iut-tlse3.fr
Mon, 26 Sep 2005 14:21:30 +0200
Hello,
I'm trying to route multicast through a tunnel using openvpn. This is my
configuration :
Host1 --------(eth1)Router1(tun0)---Internet--(tun0)Router2(eth1)----------Host2
194.x.y.80 194.x.y.33 10.4.0.1 10.4.0.2 194.x.z.250 194.x.z.34
On Host1 and Host2, i'm runnig : emcast -t 15 234.43.13.42:8765
Unicast routing ans tunnel works perfectly.
I have the communication from host2 to host2 and i haven't from host1 to host2
and i don't understand why.
Thanks you for your help.
Router1
Xorp> show pim interface
Interface State Mode V PIMstate Priority DRaddr Neighbors
eth1 UP Sparse 2 DR 1 194.x.y.33 1
tun0 UP Sparse 2 NotDR 1 10.4.0.2 1
register_vif UP Sparse 2 DR 1 10.4.0.1 0
Router2
Interface State Mode V PIMstate Priority DRaddr Neighbors
eth1 UP Sparse 2 DR 1 194.x.z.250 0
tun0 UP Sparse 2 DR 1 10.4.0.2 1
register_vif UP Sparse 2 DR 1 10.4.0.2 0
Router1
Xorp> show pim neighbors
Interface DRpriority NeighborAddr V Mode Holdtime Timeout
tun0 1 10.4.0.2 2 Sparse 105 100
Router2
Xorp> show pim neighbors
Interface DRpriority NeighborAddr V Mode Holdtime Timeout
tun0 1 10.4.0.1 2 Sparse 105 91
Router1
Xorp> show pim mfc
Group Source RP
234.43.13.42 194.x.z.34 10.4.0.2
Incoming interface : tun0
Outgoing interfaces: O..
234.43.13.42 194.x.y.80 10.4.0.2
Incoming interface : eth1
Outgoing interfaces: ..O
Router2
Xorp> show pim mfc
Group Source RP
234.43.13.42 194.x.z.34 10.4.0.2
Incoming interface : eth1
Outgoing interfaces: .O.
234.43.13.42 194.x.y.80 10.4.0.2
Incoming interface : register_vif
Outgoing interfaces: ...
Router1
Xorp> show pim bootstrap
Active zones:
BSR Pri LocalAddress Pri State Timeout SZTimeout
10.4.0.2 1 10.4.0.1 1 Candidate 83 -1
Expiring zones:
BSR Pri LocalAddress Pri State Timeout SZTimeout
Configured zones:
BSR Pri LocalAddress Pri State Timeout SZTimeout
10.4.0.1 1 10.4.0.1 1 Init -1 -1
Router2
Xorp> show pim bootstrap
Active zones:
BSR Pri LocalAddress Pri State Timeout SZTimeout
10.4.0.2 1 10.4.0.2 1 Elected 25 -1
Expiring zones:
BSR Pri LocalAddress Pri State Timeout SZTimeout
Configured zones:
BSR Pri LocalAddress Pri State Timeout SZTimeout
10.4.0.2 1 10.4.0.2 1 Init -1 -1
Router1
Xorp> show pim mrib
DestPrefix NextHopRouter VifName VifIndex MetricPref Metric
0.0.0.0/0 194.x.y.1 eth1 0 254 65535
10.4.0.1/32 10.4.0.1 tun0 1 0 0
10.4.0.2/32 10.4.0.2 tun0 1 0 0
194.x.z.0/24 10.4.0.2 tun0 1 254 1
194.x.z.250/32 194.x.y.1 eth1 0 254 65535
194.x.y.0/24 194.x.y.33 eth1 0 0 0
Router2
Xorp> show pim mrib
DestPrefix NextHopRouter VifName VifIndex MetricPref Metric
0.0.0.0/0 194.x.z.1 eth1 0 254 65535
10.4.0.1/32 10.4.0.1 tun0 1 0 0
10.4.0.2/32 10.4.0.2 tun0 1 0 0
194.x.z.0/24 194.x.z.250 eth1 0 0 0
194.x.y.0/24 10.4.0.1 tun0 1 254 1
194.x.y.33/32 194.x.z.1 eth1 0 254 65535
Config.boot is the same on router1 and router2 :
/* $XORP: xorp/rtrmgr/config.boot.sample,v 1.23 2005/03/09 22:50:41 pavlin Exp $
*/
interfaces {
interface tun0 {
description: "data interface"
disable: false
default-system-config
}
interface eth1 {
description: "data interface"
disable: false
default-system-config
}
}
fea {
unicast-forwarding4 {
disable: false
}
click {
disable: true
/*
* Set duplicate-routes-to-kernel to true if the XORP routes
* added to Click should be added to the system kernel as well.
*/
duplicate-routes-to-kernel: false
/*
* Note: If both kernel-click and user-click are enabled, then
* typically kernel-click-config-generator-file and
* user-click-config-generator-file should point to different
* generator files. Otherwise, a single common generator
* wouldn't know whether to generate configuration for kernel-level
* Click or for user-level Click.
*/
kernel-click {
disable: false
install-on-startup: true
kernel-click-modules: "/path/to/proclikefs.o:/path/to/click.o"
/* XXX: On FreeBSD we need only module click.ko */
/* kernel-click-modules: "/path/to/click.ko" */
mount-directory: "/click"
kernel-click-config-generator-file:
"/user/local/xorp/fea/xorp_fea_click_config_generator"
}
user-click {
disable: false
command-file: "/usr/local/bin/click"
/*
* Note: don't add "-p <port>" as an extra argument, because it
* will conflict with the FEA's addition of the same argument.
*/
command-extra-arguments: "-R"
command-execute-on-startup: true
control-address: 127.0.0.1
control-socket-port: 13000
startup-config-file: "/dev/null"
user-click-config-generator-file:
"/user/local/xorp/fea/xorp_fea_click_config_generator"
}
}
}
protocols {
rip {
export connected {
metric: 0
tag: 0
}
interface tun0 {
vif tun0 {
address 10.4.0.2 {
disable: false
}
}
}
}
}
plumbing {
mfea4 {
disable: false
interface tun0 {
vif tun0 {
disable: false
}
}
interface eth1 {
vif eth1 {
disable: false
}
}
interface register_vif {
vif register_vif {
/* Note: this vif should be always enabled */
disable: false
}
}
traceoptions {
flag all {
disable: false
}
}
}
}
protocols {
igmp {
disable: false
interface eth1 {
vif eth1 {
disable: false
}
}
interface tun0 {
vif tun0 {
disable: false
}
}
traceoptions {
flag all {
disable: false
}
}
}
}
protocols {
pimsm4 {
disable: false
interface tun0 {
vif tun0 {
disable: false
/* dr-priority: 1 */
/* alternative-subnet 10.40.0.0/16 */
}
}
interface eth1 {
vif eth1 {
disable: false
/* dr-priority: 1 */
/* alternative-subnet 10.40.0.0/16 */
}
}
interface register_vif {
vif register_vif {
/* Note: this vif should be always enabled */
disable: false
}
}
bootstrap {
disable: false
cand-bsr {
scope-zone 224.0.0.0/4 {
/* is-scope-zone: false */
cand-bsr-by-vif-name: "tun0"
/* bsr-priority: 1 */
/* hash-mask-len: 30 */
}
}
cand-rp {
group-prefix 224.0.0.0/4 {
/* is-scope-zone: false */
cand-rp-by-vif-name: "tun0"
/* rp-priority: 192 */
/* rp-holdtime: 150 */
}
}
}
switch-to-spt-threshold {
/* approx. 1K bytes/s (10Kbps) threshold */
disable: false
interval-sec: 100
bytes: 102400
}
traceoptions {
flag all {
disable: false
}
}
}
}
/*
* Note: fib2mrib is needed for multicast only if the unicast protocols
* don't populate the MRIB with multicast-specific routes.
*/
protocols {
fib2mrib {
disable: false
}
}
/*
* See xorp/mibs/snmpdscripts/README on how to configure Net-SNMP in your host
* before uncommenting the snmp section below.
* Also check that the "bgp4_mib_1657.so" exists in the correct location.
*/
/*
protocols {
snmp {
mib-module bgp4_mib_1657 {
abs-path: "/usr/local/xorp/mibs/bgp4_mib_1657.so"
}
}
}
*/
- Laurent Foucher
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.