This is an old revision of the document!
NAT Diagnostics
1. A profile must have pools of the same size. Correct:
type_profile=1, ref_cnt=0 d3 { "nat_ip_pool" : "1.1.2.0/28,1.1.3.0/28", "nat_tcp_max_sessions" : 2000, "nat_udp_max_sessions" : 2000, "nat_type" : 0 } 11 (0x400)
Incorrect:
type_profile=1, ref_cnt=0 d3 { "nat_ip_pool" : "1.1.2.0/28,1.1.3.0/26", "nat_tcp_max_sessions" : 2000, "nat_udp_max_sessions" : 2000, "nat_type" : 0 } 11 (0x400
2. For blocked subscribers, you should connect different profile, with different pools. Many network devices, when blocked, can generate a large number of requests, which leads to the use of free ports at the public address.
3. Check if the private addresses are evenly distributed over the public addresses in the profile.
fdpi_ctrl list all status --service 11 --profile.name nat_pool |grep whiteip|cut -f7|sort|uniq -c|sort -n
4. Check the number of subscribers that use ports more then the $P value. The average subscriber uses about 600 ports.
fdpi_ctrl list all status --service 11 --profile.name nat_pool | awk 'BEGIN {FS="[=| }\t]+"} $15>$P {print $1, $14, $15}' | wc -l
5. Check how addresses are distributed by pools (subnets) in the profile.
fdpi_ctrl list all status --service 11 --profile.name nat_pool |grep whiteip|cut -f7|cut -d"." -f1,2,3|sort|uniq -c|sort -n