inetaf / nat

A collection of Go networking packages for dealing with NATs and NAT traversal.
BSD 3-Clause "New" or "Revised" License
16 stars 0 forks source link

nat/natpmp: implement Client Map method #4

Closed mdlayher closed 2 years ago

mdlayher commented 4 years ago

Signed-off-by: Matt Layher mdlayher@gmail.com

I can confirm that this sends a valid request to miniupnpd, but since I'm using nftables at home, I can't verify the actual full port mapping functionality at the moment. I'm gonna spin up a VM soon to look at that though.

$ go run main.go 
2020/08/04 14:03:35 gateway: 192.168.10.1:5351, external: 24.176.57.23
2020/08/04 14:03:35 failed to create mapping: natpmp: result 3: NetworkFailure
exit status 1
Aug 04 14:03:35 routnerr-2 miniupnpd[13078]: chain MINIUPNPD not found
Aug 04 14:03:35 routnerr-2 miniupnpd[13078]: addnatrule() : chain MINIUPNPD not found
Aug 04 14:03:35 routnerr-2 miniupnpd[13078]: Failed to add NAT-PMP 80 tcp->192.168.110.6:80 'NAT-PMP 80 tcp'

/cc @danderson