I run a Tor bridge in a FreeBSD jail. I received an email from someone letting me know that a private IP address was being advertised for the obfs4 bridge. In torrc, I set up Tor to advertise my public IP address (represented as 220.127.116.11 below), and to listen on the private IP address assigned to the FreeBSD jail (represented as 192.168.1.1 below). It seems that this configuration is not supported by obfs4proxy.
ServerTransportListenAddr was previously set to the private IP address assigned to the FreeBSD jail, and it seems that it was published to the bridge database from this setting. I am unable to set ServerTransportListenAddr to the public IP address as it is not "configured" in the FreeBSD jail (only the private IP address is, and traffic is forwarded to the jail by the network router). Setting ServerTransportListenAddr to 0.0.0.0 does not resolve the situation.
How can I make sure that Tor publishes my true public IP address to the bridge database for the obfs4 proxy?
SOCKSPort 0 RunAsDaemon 1 # Advertise public IP address, but listen on private jail IP address ORPort 18.104.22.168:12345 NoListen ORPort 192.168.1.1:12345 NoAdvertise Address 22.214.171.124 OutboundBindAddress 192.168.1.1 ExitRelay 0 BridgeRelay 1 PublishServerDescriptor bridge ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy ServerTransportListenAddr obfs4 0.0.0.0:12345 ExtORPort auto