As we all know, IPv4 address space is already exhausted, many ISPs have deployed carrier grade NAT (CGN). So how could an LN node living behind NAT deal with NAT transversal problem? How could two NATed LN nodes communicate with each other?
IPv6 is still growing, so the problem described should be temporary - as in solved within 50 years. In the meantime, how about a portforwarding arrangment like this: Bob's LN node connects to his (ipv4) webserver on port 9736; Alice connects to Bob's webserver on port 9735; Bob's webserver sends inbound traffic on 9735 out 9736 and vice versa.
first of all if your lightning node sits behind a NAT it can still connect to other lightning nodes and also open channels with them. once you have channels you don't need a public IP address but your node id is enough. your channel partner and nat will solve the rest.
The problem is that your node behind a NAT does not have a public IP address. therefor you need to configure port forwarding in your NAT.
edit: Also you can run your lightning node behind a toronion to have a static address.