eth0으로 나가는 내부망 패킷을 외부 공인 IP 주소와 1:1 대응시켜 NAT 하고자 할 때 이렇게 한 줄로 작성이 가능합니다.
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1-192.168.0.5 -j SNAT --to-source 1.1.1.1-1.1.1.5
iptables는 한마디로 packet classification framework인데, 리눅스 커널 내 netfilter 모듈 제어와 ruleset을 관리하는 소프트웨어입니다.
그런데 이제 nftables가 대체재로써 훨씬 나은 퍼포먼스와 기능을 제공한다고 합니다. 찾아보니 리눅스 커널 3.13부터 새로운 syntax를 사용하는 nft 명령어와 기존 iptables 명령을 nftables 커널 환경에서 실행하게 해주는 compatibility layer가 제공된다고 합니다.
어쩌면 최근까지 iptables 명령어를 사실 nftables 커널에서 사용하고 있었는지 모르겠습니다.
https://wiki.nftables.org/wiki-nftables/index.php/Main_Page