Create a block from scratch

So, I guess they hand out more than 1 public IP address. OK, your set up is all wrong for that then. Here are the things that need to happen:

  • turn off wifi on the computer that is connected to the modem directly, it doesn’t need it, and it’s causing problems (ifconfig should now only show you the ethernet connection).
  • now that your computer is only using Ethernet, we have to establish exactly what we can do. There is still a chance that the connection isn’t wide open, that the modem has a firewall that blocks incoming calls. If that’s the case, we have two options: either we get access to the firewall and open port 4001 (best), or we go back to using the relay client to get around it.

Of course, if you still intend to use your VPN, then the relay client is the only option and we really don’t need to modify the modem’s firewall.

P.S. Also, no more need for port mapping on your router, as the computer no longer goes through it (the router only affects the devices connected to it using ethernet or wifi).

wifi disconnected from the desktop
behind VPN
uploaded files till not loading (504 Gateway Time-out)

Here’s the current ipconfig after a reboot:
C:\Users\User>ipconfig

Windows IP Configuration

Ethernet adapter Ethernet:

Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::c02d:d258:d8d1:d0b9%8
IPv4 Address. . . . . . . . . . . : 223.16.242.253
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 223.16.240.1

Wireless LAN adapter Wi-Fi:

Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : localdomain

Wireless LAN adapter Local Area Connection* 9:

Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :

Ethernet adapter Bluetooth Network Connection:

Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :

I wouldn’t worry about not being able to reach content just yet, it’ll probably sort itself out after the next “reprovide” (it happens every 12 hours). You can test that things are working by creating something new and seeing if you can get that (that should only take a minute or so to be “provided”).

Also, now that you aren’t dealing with private addresses anymore, you can make your node more efficient by adding this to your Swarm.AddrFilters:

"AddrFilters": [
    "/ip4/10.0.0.0/ipcidr/8",
    "/ip4/100.64.0.0/ipcidr/10",
    "/ip4/169.254.0.0/ipcidr/16",
    "/ip4/172.16.0.0/ipcidr/12",
    "/ip4/192.0.0.0/ipcidr/24",
    "/ip4/192.0.2.0/ipcidr/24",
    "/ip4/192.168.0.0/ipcidr/16",
    "/ip4/198.18.0.0/ipcidr/15",
    "/ip4/198.51.100.0/ipcidr/24",
    "/ip4/203.0.113.0/ipcidr/24",
    "/ip4/240.0.0.0/ipcidr/4",
    "/ip6/100::/ipcidr/64",
    "/ip6/2001:2::/ipcidr/48",
    "/ip6/2001:db8::/ipcidr/32",
    "/ip6/fc00::/ipcidr/7",
    "/ip6/fe80::/ipcidr/10"
],

P.S. Unless your VPN uses private addresses internally. If that’s the case, find out what kind and we can remove the one line that blocks that.

still no good after adding the “filters”.

I tried the following on a same pdf file:

  1. upload to nft.storage (works perfectly, could be accessed almost instantly in a new tab)
  2. upload to my IPFS (only works on the ipfs webui, could not be accessed in new tab “504 Gateway Time-out”)

Following is the current ipfs config:

{
“API”: {
“HTTPHeaders”: {}
},
“Addresses”: {
“API”: “/ip4/127.0.0.1/tcp/5001”,
“Announce”: ,
“AppendAnnounce”: ,
“Gateway”: “/ip4/127.0.0.1/tcp/8080”,
“NoAnnounce”: ,
“Swarm”: [
“/ip4/0.0.0.0/tcp/4001”,
“/ip6/::/tcp/4001”,
“/ip4/0.0.0.0/udp/4001/quic”,
“/ip6/::/udp/4001/quic”
]
},
“AutoNAT”: {},
“Bootstrap”: [
“/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN”,
“/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa”,
“/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb”,
“/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt”,
“/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ”,
“/ip4/104.131.131.82/udp/4001/quic/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ
],
“DNS”: {
“Resolvers”: {}
},
“Datastore”: {
“BloomFilterSize”: 0,
“GCPeriod”: “1h”,
“HashOnRead”: false,
“Spec”: {
“mounts”: [
{
“child”: {
“path”: “blocks”,
“shardFunc”: “/repo/flatfs/shard/v1/next-to-last/2”,
“sync”: true,
“type”: “flatfs”
},
“mountpoint”: “/blocks”,
“prefix”: “flatfs.datastore”,
“type”: “measure”
},
{
“child”: {
“compression”: “none”,
“path”: “datastore”,
“type”: “levelds”
},
“mountpoint”: “/”,
“prefix”: “leveldb.datastore”,
“type”: “measure”
}
],
“type”: “mount”
},
“StorageGCWatermark”: 90,
“StorageMax”: “10GB”
},
“Discovery”: {
“MDNS”: {
“Enabled”: true,
“Interval”: 10
}
},
“Experimental”: {
“AcceleratedDHTClient”: false,
“FilestoreEnabled”: false,
“GraphsyncEnabled”: false,
“Libp2pStreamMounting”: false,
“P2pHttpProxy”: false,
“StrategicProviding”: false,
“UrlstoreEnabled”: false
},
“Gateway”: {
“APICommands”: ,
“HTTPHeaders”: {
“Access-Control-Allow-Headers”: [
“X-Requested-With”,
“Range”,
“User-Agent”
],
“Access-Control-Allow-Methods”: [
“GET”
],
“Access-Control-Allow-Origin”: [
“*”
]
},
“NoDNSLink”: false,
“NoFetch”: false,
“PathPrefixes”: ,
“PublicGateways”: null,
“RootRedirect”: “”,
“Writable”: false
},
“Identity”: {
“PeerID”: “12D3KooWK5GQfwTovUTHR8Ud2WG4fMWFx644w59g6YAoXvYA278y”,
“PrivKey”: “CAESQPwYl0Ho9KT/Jx9J3eD5pebE/+Ayb/UaaaS+foWu7LW/iYphu8IcjlLRL1LyhxZAfkIIjicmxy9HpcaDRKL2EP4=”
},
“Internal”: {},
“Ipns”: {
“RecordLifetime”: “”,
“RepublishPeriod”: “”,
“ResolveCacheSize”: 128
},
“Migration”: {
“DownloadSources”: ,
“Keep”: “”
},
“Mounts”: {
“FuseAllowOther”: false,
“IPFS”: “/ipfs”,
“IPNS”: “/ipns”
},
“Peering”: {
“Peers”: null
},
“Pinning”: {
“RemoteServices”: {}
},
“Plugins”: {
“Plugins”: null
},
“Provider”: {
“Strategy”: “”
},
“Pubsub”: {
“DisableSigning”: false,
“Router”: “”
},
“Reprovider”: {
“Interval”: “12h”,
“Strategy”: “all”
},
“Routing”: {
“Type”: “dht”
},
“Swarm”: {
“AddrFilters”: [

“/ip4/10.0.0.0/ipcidr/8”,

“/ip4/100.64.0.0/ipcidr/10”,

“/ip4/169.254.0.0/ipcidr/16”,

“/ip4/172.16.0.0/ipcidr/12”,

“/ip4/192.0.0.0/ipcidr/24”,

“/ip4/192.0.2.0/ipcidr/24”,

“/ip4/192.168.0.0/ipcidr/16”,

“/ip4/198.18.0.0/ipcidr/15”,

“/ip4/198.51.100.0/ipcidr/24”,

“/ip4/203.0.113.0/ipcidr/24”,

“/ip4/240.0.0.0/ipcidr/4”,

“/ip6/100::/ipcidr/64”,

“/ip6/2001:2::/ipcidr/48”,

“/ip6/2001:db8::/ipcidr/32”,

“/ip6/fc00::/ipcidr/7”,

“/ip6/fe80::/ipcidr/10”
],
“ConnMgr”: {
“GracePeriod”: “60s”,
“HighWater”: 300,
“LowWater”: 50,
“Type”: “basic”
},
“DisableBandwidthMetrics”: false,
“DisableNatPortMap”: true,
“EnableHolePunching”: true,
“RelayClient”: {
“Enabled”: true
},
“RelayService”: {},
“Transports”: {
“Multiplexers”: {},
“Network”: {},
“Security”: {}
}
}
}

Your node isn’t up, so that means your VPN is using private addresses to do what it does. We need to find out which kind and remove the rule that blocks it from the AddrFilters.

While connected to your VPN, either run ipconfig /ALL or use the Windows GUI to find out what your private IP address is at that moment, and post it here, and I’ll tell you which line to remove. The address will be one of these 3 possibilities: 10.x.x.x, 172.x.x.x or 192.168.x.x

Ethernet adapter Ethernet:

DHCP Server . . . . . . . . . . . : 10.17.8.41

IPv4 Address. . . . . . . . . . . : 223.16.242.253(Preferred)

the above is from the Terminal

Since i’m using VPN inside a browser, this is what i get from https://whatismyipaddress.com/
203.10.99.30
and 203.10.99.29 from my NordVPN (see screenshot)

None of these are your private address. However, the DHCP server line gives me a clue that it’s probably using the 10.x.x.x kind. So, remove the following line from the AddrFilters:

"/ip4/10.0.0.0/ipcidr/8",

And restart your node. And we should be done. Your node should be able to function with and without the VPN now. Let it settle for a few minutes, then do your testing, and it should work. The already existing pins will also reappear after the next reprovide.

If your node starts to go up and down again, that means the VPN isn’t playing nice, and IPFS will never work with that VPN (there’s nothing we can do). If that’s the case, don’t use the VPN, or get a different kind.

is this what you are looking for?

Link speed (Receive/Transmit): 1000/1000 (Mbps)
Link-local IPv6 address: fe80::c02d:d258:d8d1:d0b9%8
IPv4 address: 223.16.242.253
IPv4 DNS servers: 210.3.59.68
210.3.59.77
Manufacturer: Realtek
Description: Realtek PCIe GbE Family Controller
Driver version: 10.48.315.2021
Physical address (MAC): 50-81-40-91-47-D4

If the node doesn’t come up, I guessed wrong. Since there are only 3 lines of interest, you can try removing each 1 at a time, until you find the 1 your VPN is using. The 3 lines are:

    "/ip4/10.0.0.0/ipcidr/8",
    "/ip4/172.16.0.0/ipcidr/12",
    "/ip4/192.168.0.0/ipcidr/16",

I see it’s back, I guess you found the one. which one was it?

P.S. Hmmm, it went away, I guess not yet.

i did all 3, all are not responsive

do you want me to do it again, one by one for your checking?

That’s very strange, they are not supposed to use anything else. Just return the AddrFilters to its original null value and restart one last time. Things should work, unless the VPN just doesn’t want to play nice with IPFS.

P.S. the point behind the filters was to reduce the unneeded traffic that IPFS sends out when it tries every address for a node it’s trying to dial. With the list, it would skip private addresses, making things faster and less noisy. It’s not a required thing, it’s just a nice thing to have.

i’ve removed “/ip4/172.16.0.0/ipcidr/12”, run ipfs daemon and standing by

Just go back to null, so we can see if that’s the issue, or if something else is going on.

"AddrFilters": null,

the setting is back to null
a couple of files uploaded within the hour couldn’t be loaded in a new tab

That’s cuz your node isn’t back yet, I’m still waiting to see it appear.

seems like it’s working…for new uploads at least

I hasn’t come back for me yet. What does “ipfs id” say it’s advertising?

C:\Users\User>ipfs id
{
“ID”: “12D3KooWK5GQfwTovUTHR8Ud2WG4fMWFx644w59g6YAoXvYA278y”,
“PublicKey”: “CAESIImKYbvCHI5S0S9S8ocWQH5CCI4nJscvR6XGg0Si9hD+”,
“Addresses”: [
“/ip4/127.0.0.1/tcp/4001/p2p/12D3KooWK5GQfwTovUTHR8Ud2WG4fMWFx644w59g6YAoXvYA278y”,
“/ip4/127.0.0.1/udp/4001/quic/p2p/12D3KooWK5GQfwTovUTHR8Ud2WG4fMWFx644w59g6YAoXvYA278y”,
“/ip4/223.16.242.253/tcp/4001/p2p/12D3KooWK5GQfwTovUTHR8Ud2WG4fMWFx644w59g6YAoXvYA278y”,
“/ip4/223.16.242.253/udp/4001/quic/p2p/12D3KooWK5GQfwTovUTHR8Ud2WG4fMWFx644w59g6YAoXvYA278y”,
“/ip6/::1/tcp/4001/p2p/12D3KooWK5GQfwTovUTHR8Ud2WG4fMWFx644w59g6YAoXvYA278y”,
“/ip6/::1/udp/4001/quic/p2p/12D3KooWK5GQfwTovUTHR8Ud2WG4fMWFx644w59g6YAoXvYA278y”
],
“AgentVersion”: “go-ipfs/0.11.0/”,
“ProtocolVersion”: “ipfs/0.1.0”,
“Protocols”: [
“/ipfs/bitswap”,
“/ipfs/bitswap/1.0.0”,
“/ipfs/bitswap/1.1.0”,
“/ipfs/bitswap/1.2.0”,
“/ipfs/id/1.0.0”,
“/ipfs/id/push/1.0.0”,
“/ipfs/kad/1.0.0”,
“/ipfs/lan/kad/1.0.0”,
“/ipfs/ping/1.0.0”,
“/libp2p/autonat/1.0.0”,
“/libp2p/circuit/relay/0.1.0”,
“/libp2p/circuit/relay/0.2.0/hop”,
“/libp2p/circuit/relay/0.2.0/stop”,
“/libp2p/dcutr”,
“/p2p/id/delta/1.0.0”,
“/x/”
]
}