To je jenom jeden z nejsnáze pochopitelných příkladů obcházení NATu. Existují složitější metody, ale chtěl jste alespoň nějakou - já jsem uvedl nejtriviálnější, nehodlám tady sepisovat desetistránkový odborný text.
Co se týká chyb konkrétních implementací - není to tak jednoduché. Popisované connection tracking je náročné na paměť, takže omezením některých polí v conntracku dostanete přibližně stejné vlastnosti za nižší cenu. A to se počítá.