nftables.conf에 규칙을 추가하는 방법

nftables.conf에 규칙을 추가하는 방법

내 터미널에는 다음과 같이 썼습니다.

sudo nft add table inet f2b-table

systemctl reload nftables.service

그 다음에:

sudo nft list ruleset

최종 결과(확인):

table inet f2b-table { }

그런데 nftables.conf를 열면 왜 inet f2b 테이블이 나타나지 않는 걸까요?

nftables.conf가 아닌 터미널에 테이블이 표시되는 이유는 무엇입니까(이 두 파일은 서로 다른가요?)

nftables.conf를 어떻게 업데이트해야 합니까?

답변1

커널에서 테이블(파일 아님)을 업데이트했습니다. 파일을 업데이트하면 파일에 저장됩니다. 그런 다음 nft에게 파일을 다시 읽으라고 지시하면 해당 파일이 커널에 복사됩니다.

모든 Unix 구성 파일은 파일일 뿐입니다. 어느 시점에서 그들은 구성 중인 커널이나 프로그램에 읽혀지고 로드됩니다. nftables.conf시스템이 시작될 때 로드되며 재부팅할 때 로드되거나 nft구성을 다시 로드하도록 지시합니다.

파일에 복사할 수 있는 커널 덤프 데이터를 갖는 방법이 있을 수 있습니다. 그러나 여기에는 이전에 이미 존재했던 데이터를 변경하는 것도 포함됩니다.

답변2

nftables 위키를 살펴보니 파일에서 테이블을 로드하는 작업을 다루는 페이지는 다음과 같습니다. https://wiki.nftables.org/wiki-nftables/index.php/Scripting

이 페이지에서는 nft -f filename명령이 파일에서 테이블 구성을 로드하는 방법을 설명하지만 구성을 파일에 저장하는 데 일치하는 명령이 없습니다.

"nft list" 명령의 출력이 이 파일에 허용되는 구문 중 하나임을 간략하게 언급합니다. 이는 nft list ruleset > filename"nft -f"로 읽을 수 있는 파일이 생성된다는 의미입니다.

명령이 왜 systemctl reload nftables.service이것을 수행하지 않습니까? 분명히 패키지 관리자가 만든 systemctl 구성은 파일 작업에 저장을 수행하지 않습니다. 어쩌면 파일 읽기만 수행할 수도 있습니다. NFT 패킷 필터링 기능이 있는 컴퓨터가 없고 어떤 Linux/Unix를 사용하고 있는지 언급하지 않았기 때문에 더 자세한 내용은 없습니다.

관련 정보