http://linux-sys-adm.com/ubuntu-16.04-lts-how-to-configure-firewall-iptables-fail2ban/
테스트 환경 : Ubuntu 16.04 LTS
$ sudo apt-get install iptables-persistent
:: ipv4 / ipv6 룰 저장여부

설정파일 저장경로
$ pwd
/etc/iptables
:: 위에서 저장을 했다면 아래와 같이 현재 Rule 파일로 저장
$ ls -l
합계 8
-rw-r--r-- 1 root root 1353 9월 20 13:27 rules.v4
-rw-r--r-- 1 root root 187 9월 20 13:27 rules.v6
방법1) init 스크립트 작성
$ sudo service iptables-persistent start
:: invoce-rc.d 를 이용해서 서비스 실행
$ sudo invoke-rc.d netfilter-persistent save
* Saving netfilter rules...
run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
[ OK ]
$ sudo service netfilter-persistent stop
:: init 스크립트로 복사
$ sudo cp /usr/share/netfilter-persistent/plugins.d/15-ip4tables /etc/init.d/iptables
$ sudo /etc/init.d/iptables start
$ sudo /etc/init.d/iptables flush
:: 부팅시 자동으로 서비스 올라오게 등록
$ sudo update-rc.d -f iptables defaults
아래와 같은 에러가 뜨면... 해당스크립트에 LSB tag값이 지정되어있지 않다는 메세지기에 아래 문구삽입 $ sudo update-rc.d -f iptables defaults
insserv: warning: script 'K01iptables' missing LSB tags and overrides
insserv: warning: script 'iptables' missing LSB tags and overrides
$ sudo vim /etc/init.d/iptables
............................
### BEGIN INIT INFO
# Provides: skeleton
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Example initscript
# Description: This file should be used to construct scripts to be
# placed in /etc/init.d.
### END INIT INFO
서비스 활성화 체크리스트
$ sudo service --status-all
방법2) 네트워크 설정파일에 저장된 설정 파일 iptables-restore
$ sudo vim /etc/network/interface
auto eth0
iface eth0 inet static
address 192.168.22.223
netmask 255.255.255.0
gateway 192.168.22.1
dns-nameserver 115.68.62.210
pre-up iptables-restore < /etc/iptables/rules.v4