
외부 IP로 가는 트래픽을 가로채서 localhost로 다시 라우팅해야 합니다. iptables를 사용하면 매우 간단하지만 nft를 통해 작동시키는 방법을 이해할 수 없었습니다. nft 내에 테이블과 체인을 생성했지만 규칙을 생성할 수 없습니다. nft에서는 작업이 지원되지 않는다고 말합니다.
테이블
sudo /usr/sbin/nft list ruleset
table ip filter {
chain OUTPUT {
type filter hook output priority filter; policy accept;
}
}
규칙
sudo /usr/sbin/nft add rule ip filter OUTPUT ip daddr $EXTERNAL_ADDRESS counter dnat to 127.0.0.1
Error: Could not process rule: Operation not supported
커널 모듈
lsmod | grep nf_tables
nf_tables 360448 1 nft_nat
libcrc32c 12288 3 nf_conntrack,nf_nat,nf_tables
nfnetlink 20480 1 nf_tables
내 규칙에 어떤 문제가 있나요? 아니면 간단하게 만들 수 있나요?
답변1
호스트에 IP 주소를 할당합니다. 모든 트래픽을 라우팅하는 것은 전달 테이블의 목적이며 방화벽에서 이를 수행할 수 있지만 종종 필요하지 않습니다.
예를 들어, Linux에서 루프백을 위해 구성한 IP 주소를 할당합니다.
ip a add 2001:db8:114:6402::1020 dev lo
단일 호스트 경로로서 일반적으로 인터넷의 다른 곳에 존재하더라도 우선순위를 갖습니다. 루프백 인터페이스에서 다른 호스트는 이에 대해 알지 못하며 동일한 호스트를 "나가는" 트래픽을 통해서만 연결할 수 있습니다.
호스트가 라우터인 경우 이를 다른 라우터에 알리려는지 여부를 결정하십시오.
독자를 위한 연습: 이를 IPAM 및 DNS에 등록하세요. 배포판의 네트워크 관리자를 사용하여 지속적으로 만드세요.