source: https://wiki.nftables.org/wiki-nftables/index.php/Atomic_rule_replacement
이전 글: 룰 설정 / Simple rule management
다음 글: 명령어에서 오류 출력
iptables에서는 bash script를 이용해 rule을 하나하나 추가하는 것이 일반적입니다. 그런데 대량의 rule을 추가해 나간다면, 어느 한 순간에 보면, 의도하는 완전한 상태가 아니라 부분만 완성된 상태입니다. 반면 nftables에서는 새로운 rule을 메모리에 모두 올리고, 한 순간에 rule을 모두 적용하는 수단을 제공합니다. 따라서 이것을 Atomic rule replacement 라고 합니다.
nft -f를 이용합니다. 형태는 아래와 같습니다.
% nft -f file
아래는 설정을 가진 파일 ip-filter-new를 읽어와 한 순간에 적용하는 예입니다.
salsal@r3:~$ sudo nft list ruleset
table ip filter {
chain output {
type filter hook output priority 0; policy accept;
ip daddr 7.7.7.7 counter packets 0 bytes 0
ip daddr 6.6.6.6 counter packets 0 bytes 0
ip daddr 9.9.9.9 counter packets 0 bytes 0
}
}
salsal@r3:~$ vi ip-filter-new
salsal@r3:~$ cat ip-filter-new
# flush ruleset을 이용해 table, chain, rule을 모두 지웁니다.
flush ruleset
# 새로운 table, chain, rule을 생성합니다.
table ip filter {
chain output {
type filter hook output priority 0; policy accept;
ip daddr 17.7.7.7 counter packets 0 bytes 0
ip daddr 16.6.6.6 counter packets 0 bytes 0
ip daddr 19.9.9.9 counter packets 0 bytes 0
}
}
salsal@r3:~$ sudo nft -f ip-filter-new
salsal@r3:~$ sudo nft list ruleset
table ip filter {
chain output {
type filter hook output priority 0; policy accept;
ip daddr 17.7.7.7 counter packets 0 bytes 0
ip daddr 16.6.6.6 counter packets 0 bytes 0
ip daddr 19.9.9.9 counter packets 0 bytes 0
}
}
이전 글: 룰 설정 / Simple rule management
다음 글: 명령어에서 오류 출력
'nftables' 카테고리의 다른 글
룰 표현 / Building rules through expressions (0) | 2021.08.06 |
---|---|
명령어에서 오류 출력 (0) | 2021.08.06 |
룰 설정 / Simple rule management (0) | 2021.08.05 |
체인 설정 / Configuring chains (0) | 2021.08.05 |
Ubuntu nftables 설치 (0) | 2021.08.05 |