Hi,   

We recently decided to use IBR DTN on our project. By now we are only trying to connect two virtual machines with Ubuntu16: VM1(master) & VM2(slave). The connection we are trying to make is TCP via port 4556 (I will try to summarize the configuration files below).   

I am guessing that this is not really a problem, but we are using the interface ens160 since it does not appear any eth0 when we call the ifconfig command as shown below:  

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  

        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255  

        ether 02:42:0d:4f:20:73  txqueuelen 0  (Ethernet)  

        RX packets 0  bytes 0 (0.0 B)  

        RX errors 0  dropped 0  overruns 0  frame 0  

        TX packets 0  bytes 0 (0.0 B)  

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  



 

ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  

        inet 172.16.2.133  netmask 255.255.255.0  broadcast 172.16.2.255  

        inet6 fe80::311d:dd0f:5b1f:10a0  prefixlen 64  scopeid 0x20<link>  

        ether 00:50:56:b8:d3:96  txqueuelen 1000  (Ethernet)  

        RX packets 48696  bytes 32047604 (32.0 MB)  

        RX errors 0  dropped 0  overruns 0  frame 0  

        TX packets 14348  bytes 1994383 (1.9 MB)  

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  



 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536  

        inet 127.0.0.1  netmask 255.0.0.0  

        inet6 ::1  prefixlen 128  scopeid 0x10<host>  

        loop  txqueuelen 1000  (Local Loopback)  

        RX packets 1434  bytes 155169 (155.1 KB)  

        RX errors 0  dropped 0  overruns 0  frame 0  

        TX packets 1434  bytes 155169 (155.1 KB)  

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  

  

As soon as we start the daemon at the master this message appears in its log file:  

Mon May 10 09:41:37 2021 INFO NativeDaemon: IBR-DTN daemon 1.0.1 (build 294b543)  

Mon May 10 09:41:37 2021 INFO Configuration: Configuration: /etc/ibrdtn/ibrdtnd.conf  

Mon May 10 09:41:37 2021 INFO NativeDaemon: use logfile for output: /var/log/ibrdtn/ibrdtn.log  

Mon May 10 09:41:37 2021 INFO NativeDaemon: Parallel event processing enabled using 3 processes.  

Mon May 10 09:41:37 2021 INFO BundleCore: Local node name: dtn://VM1  

Mon May 10 09:41:37 2021 INFO BundleCore: Forwarding of bundles enabled.  

Mon May 10 09:41:37 2021 INFO SecurityKeyManager: initialized; path: /etc/ibrdtn/bpsec  

Mon May 10 09:41:37 2021 INFO NativeDaemon: using bundle storage in memory-only mode  

Mon May 10 09:41:37 2021 INFO DTNTPWorker: Time-Synchronization enabled: master mode  

Mon May 10 09:41:37 2021 INFO NativeDaemon: API initialized using tcp socket: any:4550  

Mon May 10 09:41:37 2021 INFO NativeDaemon: TCP ConvergenceLayer added on ens160:4556  

Mon May 10 09:41:37 2021 INFO NativeDaemon: TCP ConvergenceLayer added on any:4556  

Mon May 10 09:41:37 2021 INFO DiscoveryAgent: listen to [224.0.0.142]:4551  

Mon May 10 09:41:37 2021 INFO DiscoveryAgent: listen to [ff03::142]:4551  

Mon May 10 09:41:37 2021 INFO DiscoveryAgent: add interface ens160  

Mon May 10 09:41:37 2021 INFO DiscoveryAgent: add interface any  

Mon May 10 09:41:37 2021 NOTICE GlobalEvent: Internet connection is available.  

Mon May 10 09:41:37 2021 ERROR TCPConvergenceLayer: bind failed (failed to getaddrinfo with address: [fe80::311d:dd0f:5b1f:10a0%ens160]:4556 (link))  

Mon May 10 09:41:37 2021 INFO DHTNameService: DHT initialized on Port: 9999 with ID:   

Mon May 10 09:41:37 2021 ERROR IPNDAgent: Join failed on ens160 ([fe80::311d:dd0f:5b1f:10a0%ens160]:4551 (link), family: 10); failed to getaddrinfo with address: [fe80::311d:dd0f:5b1f:10a0%ens160]:4551 (link)  

Mon May 10 09:41:37 2021 INFO NativeDaemon: Using default routing extensions  

Mon May 10 09:41:37 2021 WARNING DHTNameService: bootstrapping from default domain failed with error: -2  

Mon May 10 09:41:46 2021 WARNING DHTNameService: bootstrapping from default domain failed with error: -2  

Mon May 10 09:42:00 2021 NOTICE NodeEvent: Node dtn://VM2 available  

Then, when we start the second daemon this message is shown in its log file:  

Mon May 10 09:41:59 2021 INFO NativeDaemon: IBR-DTN daemon 1.0.1 (build 294b543)  

Mon May 10 09:41:59 2021 INFO Configuration: Configuration: /etc/ibrdtn/ibrdtnd.conf  

Mon May 10 09:41:59 2021 INFO NativeDaemon: use logfile for output: /var/log/ibrdtn/ibrdtn.log  

Mon May 10 09:41:59 2021 INFO NativeDaemon: Parallel event processing enabled using 3 processes.  

Mon May 10 09:41:59 2021 INFO BundleCore: Local node name: dtn://VM6  

Mon May 10 09:41:59 2021 INFO BundleCore: Forwarding of bundles enabled.  

Mon May 10 09:41:59 2021 INFO SecurityKeyManager: initialized; path: /etc/ibrdtn/bpsec  

Mon May 10 09:41:59 2021 INFO NativeDaemon: using bundle storage in memory-only mode  

Mon May 10 09:41:59 2021 INFO DTNTPWorker: Time-Synchronization enabled: slave mode  

Mon May 10 09:41:59 2021 NOTICE GlobalEvent: Internet connection is available.  

Mon May 10 09:41:59 2021 INFO NativeDaemon: API initialized using tcp socket: any:4550  

Mon May 10 09:41:59 2021 INFO NativeDaemon: TCP ConvergenceLayer added on ens160:4556  

Mon May 10 09:41:59 2021 INFO DiscoveryAgent: listen to [224.0.0.142]:4551  

Mon May 10 09:41:59 2021 INFO DiscoveryAgent: listen to [ff02::142]:4551  

Mon May 10 09:41:59 2021 INFO DiscoveryAgent: add interface ens160  

Mon May 10 09:41:59 2021 ERROR TCPConvergenceLayer: bind failed (failed to getaddrinfo with address: [fe80::49b0:e031:c4a5:6586%ens160]:4556 (link))  

Mon May 10 09:41:59 2021 INFO DHTNameService: DHT initialized on Port: 9999 with ID:   

Mon May 10 09:41:59 2021 ERROR IPNDAgent: Join failed on ens160 ([fe80::49b0:e031:c4a5:6586%ens160]:4551 (link), family: 10); failed to getaddrinfo with address: [fe80::49b0:e031:c4a5:6586%ens160]:4551 (link)  

Mon May 10 09:41:59 2021 INFO NativeDaemon: Using default routing extensions  

Mon May 10 09:42:00 2021 WARNING DHTNameService: bootstrapping from default domain failed with error: -2  

  

Mon May 10 09:42:03 2021 NOTICE NodeEvent: Node dtn://VM1 available   

  

Mon May 10 09:42:03 2021 NOTICE BundleReceivedEvent: Bundle received [0.1547405242] dtn://VM2/dtntp (local)  

Mon May 10 09:42:03 2021 NOTICE QueueBundleEvent: New bundle queued [0.1547405242] dtn://VM2/dtntp  

Mon May 10 09:42:03 2021 NOTICE BundleEvent: bundle [0.1547405242] dtn:// VM2/dtntp received  

  

Mon May 10 09:42:03 2021 NOTICE ConnectionEvent: connection setup dtn:// VM1  

Mon May 10 09:42:03 2021 WARNING TCPConnection: connection to dtn:// VM1 failed  

Mon May 10 09:42:03 2021 NOTICE RequeueBundleEvent: Bundle requeued [0.1547405242] dtn://VM2/dtntp  

  

From that point on, the last three messages keep repeating every few seconds.  

I have read in past messages from this list that the ERROR line which says “bind failed” only concerns to IPv6 and that we should not worry about it, but the daemons still cannot connect to each other. They can see each other but testing it with Wireshark we have seen that when the slave sends a packet to establish the TCP connection to the master the second one returns a packet with the reset flag activated. I have attached two images on this mail showing the results of the wireshark monitoring of the interface ens160 on both machines.  

Looking for the meaning of the reset flag we found that usually means that the port wanted to be used is closed. And indeed, it seems to be closed.  

Using the command “netstat -tulpen” we can see the following ports (VM1 example):  

Proto Recv-Q Send-Q    Local Address           Foreign Address         State       PID/Program name      

tcp         0                    127.0.0.53:53                0.0.0.0:*                 LISTEN      -                     

tcp         0                    127.0.0.1:631               0.0.0.0:*                LISTEN      -                     

tcp6       0                    ::1:631                          :::*                          LISTEN      -                     

tcp6       0                 :::4550                             :::*                           LISTEN      -    

   

As you can see the port 4556 does not appear at all. In addition, when we write from VM2 the command “nmap -p- <IP VM1>” the results are the following:  

  

Starting Nmap 7.60 ( https://nmap.org ) at 2021-05-10 11:01 CEST  

Nmap scan report for 172.16.2.133  

Host is up (0.00031s latency).  

Not shown: 65534 closed ports  

PORT     STATE SERVICE  

4550/tcp open  gds-adppiw-db  

Nmap done: 1 IP address (1 host up) scanned in 1.80 seconds  

  

As you can see again the only port that seems to be open is port 4550, but not port 4556.  

I will greatly appreciate any kind of help.  

Best regards,  

Daniel Serra.   

  

Config files: (the only thing that changes from both machines is that the only config file with the option “time_reference” set to yes is VM1 the rest have this option disabled)  

#####################################  

# IBR-DTN daemon                     

#####################################  

logfile = /var/log/ibrdtn/ibrdtn.log  

api_interface = any  

api_port = 4550  

  

#####################################  

# convergence layer configuration    

#####################################  

discovery_address = ff03::142 224.0.0.142  

discovery_crosslayer = yes  

net_interfaces = lan0  

net_autoconnect = 60  

net_internet = ens160  

net_lan0_type = tcp                                        # we want to use TCP as protocol  

net_lan0_interface = ens160                         # listen on interface ens160   

net_lan0_port = 4556                                     # with port 4556 (default)  

  

#####################################  

# routing configuration              

#####################################  

routing = default  

routing_forwarding = yes  

routing_prefer_direct = yes  

  

#####################################  

# bundle security protocol           

#####################################  

security_path = /etc/ibrdtn/bpsec  

security_trusted_ca_path = /etc/ibrdtn/certs  

  

#####################################  

# time synchronization               

#####################################  

time_reference = yes  

time_synchronize = yes  

time_discovery_announcements = yes  

  

#####################################  

# DHTNameService settings            

#####################################  

dht_enabled = ye