One question: I normally start my Masternodes from home (with IPv4-address:9999 in the configuration file) with a cold wallet.Yep! It works on testnet.
So, in summary: IPv4 not required for anything really. No tunneling, none of that.
1. Just have separate IPv6 addresses setup correctly on your host.
2. Bind to a certain IPv6 address for each dashd process, e.g.:
...and in a different config file for a different process:Code:bind=[address1]:9999
... and that's it. Set up your local masternode.conf correctly, ensure the port is open for IPv6 on your firewall and you should be good. At least, it worked for me on testnet.Code:bind=[address2]:9999
You can run mainnet masternode only on port 9999.One question: I normally start my Masternodes from home (with IPv4-address:9999 in the configuration file) with a cold wallet.
My ISP doesn't yet offer IPv6, so I most probably can't simply put an IPv6-address into the local configuration file. How do you start the Masternode(s)?
What I will try once I've moved the first Masternodes to an IPv6 server (which also has one single IPv4-address) is to activated them via IPv4:9999, IPv4:9998, IPv4:9997 and so on and pray that they connect via the (there) configured IPv6 address to the network.
Anyone tried this already?
I think it actually sends the command over the MN network to start it, right? I might be completely wrong, but my (purely) guess is that you could still put an IPv6 address into the local MN config file and even though your ISP doesn't support it, it wouldn't matter, b/c it would send the "mn_start" command over the wire (via IPv4), but then the MN network would ensure that the start command got to your IPv6 server via ipv6.One question: I normally start my Masternodes from home (with IPv4-address:9999 in the configuration file) with a cold wallet.
My ISP doesn't yet offer IPv6, so I most probably can't simply put an IPv6-address into the local configuration file. How do you start the Masternode(s)?
I'll get a server with an /64 IPv6 subnet in the near future and will test this.I think it actually sends the command over the MN network to start it, right? I might be completely wrong, but my (purely) guess is that you could still put an IPv6 address into the local MN config file and even though your ISP doesn't support it, it wouldn't matter, b/c it would send the "mn_start" command over the wire (via IPv4), but then the MN network would ensure that the start command got to your IPv6 server via ipv6.
Please correct me if my understanding is off on this part, which it very well may be.
:tongue:I'll get a server with an /64 IPv6 subnet in the near future and will test this.
And if it doesn't work investigate why it doesn't work and implement what you suggested above.
And make UdjinM6 happy by breaking lots of things on my way![]()
#1. You don't need IPV6 at home to start a remove server. Just put the ipv6 in with the right format [xxxx:xxxx::xxxx:xxxx]:9999.One question: I normally start my Masternodes from home (with IPv4-address:9999 in the configuration file) with a cold wallet.
My ISP doesn't yet offer IPv6, so I most probably can't simply put an IPv6-address into the local configuration file. How do you start the Masternode(s)?
What I will try once I've moved the first Masternodes to an IPv6 server (which also has one single IPv4-address) is to activated them via IPv4:9999, IPv4:9998, IPv4:9997 and so on and pray that they connect via the (there) configured IPv6 address to the network.
Anyone tried this already?
2016-03-22 22:40:52 CActiveMasternode::ManageStatus() - Checking inbound connection to '[xxxx:xxx:xx:xxxx::xxx]:9999'
2016-03-22 22:40:52 connect() to [xxxx:xxx:xx:xxxx::xxx]:9999 failed: Network is unreachable (101)
2016-03-22 22:40:52 CActiveMasternode::ManageStatus() - not capable: Could not connect to [xxxx:xxx:xx:xxxx::xxx]:9999
I doubt it is your ipv4 only connection. Let's try to fix your config.First tests don't look good.
I'm (still) using dash.conf only, but that shouldn't matter:
dash.conf of Masternode:
bind=[xxxx:xxx::xx:xxxx::xxx]:9999
listen=1
server=1
daemon=1
externalip=xxxx:xxx:xx:xxxx::xxx
masternode=1
masternodeprivkey=<mykey>
and debug.log says:
Bound to [xxxx:xxx:xx:xxxx::xxx]:9999
AddLocal([xxxx:xxx:xx:xxxx::xxx]:9999,4)
Looks good on the hot side.
dash.conf of local wallet:
masternode=1
masternodeprivkey=<mykey>
masternodeaddr=[xxxx:xxx::xx:xxxx::xxx]:9999
But all I get is "Not capable masternode: Could not connect to [xxxx:xxx::xx:xxxx::xxx]:9999"
I'll try the same in debug-mode to get the real reason.
If I didn't miss anything obvious it looks like starting an IPv6-Masternode from an IPv4-wallet does not work.
Edit:
Yep, it indeed tries to connect via IPv6, and since my ISP is IPv4 only it fails:
I think it's time to build an IPv6 tunnel next weekend...Code:2016-03-22 22:40:52 CActiveMasternode::ManageStatus() - Checking inbound connection to '[xxxx:xxx:xx:xxxx::xxx]:9999' 2016-03-22 22:40:52 connect() to [xxxx:xxx:xx:xxxx::xxx]:9999 failed: Network is unreachable (101) 2016-03-22 22:40:52 CActiveMasternode::ManageStatus() - not capable: Could not connect to [xxxx:xxx:xx:xxxx::xxx]:9999
How are you hosting your MN? On a VPS somewhere in a data center?First tests don't look good.
I'm (still) using dash.conf only, but that shouldn't matter:
dash.conf of Masternode:
bind=[xxxx:xxx::xx:xxxx::xxx]:9999
listen=1
server=1
daemon=1
externalip=xxxx:xxx:xx:xxxx::xxx
masternode=1
masternodeprivkey=<mykey>
and debug.log says:
Bound to [xxxx:xxx:xx:xxxx::xxx]:9999
AddLocal([xxxx:xxx:xx:xxxx::xxx]:9999,4)
Looks good on the hot side.
dash.conf of local wallet:
masternode=1
masternodeprivkey=<mykey>
masternodeaddr=[xxxx:xxx::xx:xxxx::xxx]:9999
But all I get is "Not capable masternode: Could not connect to [xxxx:xxx::xx:xxxx::xxx]:9999"
I'll try the same in debug-mode to get the real reason.
If I didn't miss anything obvious it looks like starting an IPv6-Masternode from an IPv4-wallet does not work.
Edit:
Yep, it indeed tries to connect via IPv6, and since my ISP is IPv4 only it fails:
I think it's time to build an IPv6 tunnel next weekend...Code:2016-03-22 22:40:52 CActiveMasternode::ManageStatus() - Checking inbound connection to '[xxxx:xxx:xx:xxxx::xxx]:9999' 2016-03-22 22:40:52 connect() to [xxxx:xxx:xx:xxxx::xxx]:9999 failed: Network is unreachable (101) 2016-03-22 22:40:52 CActiveMasternode::ManageStatus() - not capable: Could not connect to [xxxx:xxx:xx:xxxx::xxx]:9999
# basic settings
txindex=1
testnet=0
listen=1
daemon=1
logtimestamps=1
maxconnections=256
# server=1 tells darkcoin-QT to accept JSON-RPC commands.
server=1
rpcuser=dashrpc
rpcpassword=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
rpcallowip=127.0.0.1
# masternode settings
masternode=1
masternodeprivkey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
bind=[xxxx:xxxx:x:xx::xxx:xxxx]:9999
mnalias [xxxx:xxxx:x:xx::xxx:xxxx]:9999 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 0
$ ufw status
Status: active
To Action From
-- ------ ----
9999/tcp ALLOW Anywhere
9999/tcp (v6) ALLOW Anywhere (v6)
masternode=1
masternodeprivkey=<mykey>
masternodeaddr=[xxxx:xxx::xx:xxxx::xxx]:9999
VPS. The usual setup, one IPv4 address and a /64 IPv6 subnet.How are you hosting your MN? On a VPS somewhere in a data center?
externalip just avoids that dashd tries to find it itself. It's often not needed, but removes one possible point of failure. Besides this, my dash.conf looks the same as yours.I don't think you need externalip. This is my dash.conf from an MN (all my MN's are ipv6):
Yes, both directions (I'm using iptables, not ufw for firewalling):Is your IPv6 port open on your server?
[email protected] /tmp iptables -L
...
ACCEPT tcp -- anywhere anywhere tcp dpt:9999
ACCEPT tcp -- anywhere anywhere tcp spt:9999
Shouldn't make any difference, but I'll try this when I have some more time next weekend.What if you remove these from your local dash.conf and use masternode.conf instead?
Code:masternode=1 masternodeprivkey=<mykey> masternodeaddr=[xxxx:xxx::xx:xxxx::xxx]:9999
But that's what's confusing me... I have never had a home ISP that supports ipv6, but my nodes get activated just fine. From my home connection I've tried ipv6 pings and telnet -6 too, and no luck. But the masternodes get activated.The main problem is that the wallet tries to open a connection to the Masternodes IPv6 address directly, which it can't in an IPv4 network.
[email protected]:/etc/network# ip6tables -L | grep 9999
ACCEPT tcp anywhere anywhere tcp dpt:9999
iface eth0 inet6 static
address xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
netmask 64
gateway xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
autoconf 0
dns-nameservers xxxx:xxxx:xxxx::xxxx xxxx:xxxx:xxxx::8888 8.8.8.8
iface eth0 inet6 static
address xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
netmask 64
That port doesn't need to be open to the world - only 9999. I would actually recommend against opening 9998 honestly.Also open port 9998 or put server=0 in dash.conf.
I use OpenVPN. The remote IPv6 server acts as OpenVPN-server, the local IPv4 client as, ahem, client. I build an IPv4-tunnel between them and route IPv6-in-IPv4 via a virtual sit-device through it.Did you use iptunnel on your server? Or actually do the tunnel on your local machine? A server side tunnel would be helpful - yes please post.
This wouldn't change anything:I still don't think this is needed and probably something on your VPS is setup incorrectly. Maybe ipv6 forwarding needs to be enabled. Or maybe the host needs to setup a specific set of 8 or 16 IPs vs just a /64. Obviously, this is at the limits of my understanding, so I am asking questions.
CActiveMasternode::ManageStatus() - not capable: Could not connect to [xxxx:xxx:xx:xxxx::xxx]:9999
Yep!Does dash ninja show your node having a port open?
https://dashninja.pl/api/masternodes?ips=\[\"${MASTERNODE_BIND_IP}:9999
Add "externalip=<yourIPv6IP>" (without brackets, without port) to your Masternode's dash.conf.I've configure 2 IPv6 address on my VPS (dreaming of a second MN). Dashman get the public IPv4 and/or IPv6 address from a curl call to
http://icanhazip.com/. This returned my second IPv6 address but my MN was bind to the my first IPv6. So Dashman doesn't find the open 9999 port.