부팅할 때마다 iptable 규칙을 복원해야 합니까?

부팅할 때마다 iptable 규칙을 복원해야 합니까?

재부팅할 때마다 입력하는 데 오랜 시간이 걸린 iptables 규칙이 손실됩니다. 나는 할 수 있다는 것을 안다저장하고 부팅 시 복원, 하지만 어쨌든 그들을 영원히 저장할 수 있는 방법이 있나요? 매번 부팅할 때마다 복원해야 합니까? 진지하게?

문제는 나에게거대한 목록while 루프를 사용하여 로드하는 IP입니다. 이 작업은 10분 이상 걸릴 수 있습니다.

이것은 내 집 FTP 서버입니다. RAM이 1GB이고 처리 능력이 거의 없는 작은 VM입니다. 아시아 대륙은 거의 포기한 상태라 IP가 너무 많아요. 나는 그들이 매일 내 FTP 서버에 무차별 공격을 가할 필요가 없습니다. 나는 또한 정부를 차단합니다. 모니터, 추적기 및 스패머.

이것은 목록을 로드하는 데 사용하는 while 루프입니다.

grep INPUT block.list | while read LISTA; do sudo iptables -A $LISTA; done

답변1

apt-get install iptables-persistent

설치 시 현재 iptables 구성을 저장해야 합니다. 그렇지 않으면 v4 또는 v6에 따라 이러한 파일에 저장할 수 있으며 iptables-persist는 부팅 시 해당 파일을 로드합니다. :)

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

답변2

먼저 다음 내용으로 파일을 만듭니다 iptables-save.

sudo iptables-save > /etc/iptables_rules

파일을 어디에 저장하는지는 중요하지 않습니다. 다음 줄이 동일한 파일을 참조하는지 확인하기만 하면 됩니다. 다음으로 /etc/rc.local다음 줄을 열고 추가하세요.

/sbin/iptables-restore < /etc/iptables_rules

이제부터 컴퓨터 전원을 켜거나 다시 시작할 때마다 iptables는 사용자가 지정한 파일에서 규칙을 로드합니다.

답변3

규칙이 많으면 iptables와 함께 ipset을 사용하는 것도 고려해야 합니다. Ipset은 인덱싱된 데이터베이스 테이블을 사용하며 주소를 검색하여 수락할지 거부할지 결정할 때 iptables보다 훨씬 빠릅니다.

http://ipset.netfilter.org/index.html

관련 정보