이 내 꺼야/etc/sysconfig/nftables.conf
#!/usr/sbin/nft -f
flush ruleset
table ip filter {
chain input {
type filter hook input priority filter; policy accept;
ct state established,related counter packets 264 bytes 17996 accept
ct state invalid drop
tcp dport 22 ip saddr 192.168.0.0/16 accept
udp sport 53 accept
drop
}
chain forward {
type filter hook forward priority filter; policy accept;
}
chain output {
type filter hook output priority filter; policy accept;
}
}
사용 nft -f /etc/sysconfig/nftables.conf
하고 다시 시작하면 위에 표시된 표 아래에 다음과 같은 추가 규칙도 표시됩니다.
table bridge filter {
chain INPUT {
type filter hook input priority filter; policy accept;
}
chain FORWARD {
type filter hook forward priority filter; policy accept;
}
chain OUTPUT {
type filter hook output priority filter; policy accept;
}
}
그게 뭔지 이해가 안 돼요?
추가 질문. 기계를 강화하려고 해요. 머신은 기본적으로 웹 검색에 사용되어야 하므로 그렇게 하도록 허용되어야 합니다. 내 로컬 네트워크에서 SSH로 연결할 수 있기를 원합니다. 제가 뭔가 중요한 것을 놓쳤나요?
답변1
ebtables
이것은 최신 버전의 브리지 운영 명령으로 생성된 호환성 테이블 및 체인입니다 .nftables커널 API는ebtables호환 모드. ebtables
단지 확인하기 위해 어딘가에서 명령을 실행하는 경우 도 있습니다.ebtables규칙이 있거나 일부는 자동으로 로드될 수도 있습니다.ebtables규칙 세트, 다음으로 변환됨nftables규칙 세트.
CentOS8의 경우 다음과 같은 방법으로 이를 알 수 있습니다.
실제 실행 파일
# readlink -e /usr/sbin/ebtables /usr/sbin/xtables-nft-multi
버전 표시
# ebtables -V ebtables 1.8.2 (nf_tables)
규칙 모니터링
1학기:
# nft -f /etc/sysconfig/nftables.conf # nft monitor #command waits in event mode
2학기:
# ebtables -L Bridge table: filter Bridge chain: INPUT, entries: 0, policy: ACCEPT Bridge chain: FORWARD, entries: 0, policy: ACCEPT Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
1학기 다시 시작(Fedora 최신nftables
-200
버전은 브리지의 우선순위를 표시합니다.값그것으로상징적인동일한filter
):add table bridge filter add chain bridge filter INPUT { type filter hook input priority -200; policy accept; } add chain bridge filter FORWARD { type filter hook forward priority -200; policy accept; } add chain bridge filter OUTPUT { type filter hook output priority -200; policy accept; } # new generation 7 by process 16326 (ebtables)
기본 체인에는 규칙이 포함되어 있지 않으며수용하다정책은 아무런 영향을 미치지 않습니다. 시스템은 또한 테이블과 체인을 사용하기 위해 브리지가 필요합니다.
CentOS8과 현재 Fedora 버전이 여전히 충분히 비슷하다면 systemd를 사용하여 생성되었을 수 있습니다.ebtables서비스iptables-ebtables팩. 브리지 필터링이 필요하지 않은 경우 이 패키지를 삭제하는 것이 좋습니다. 당신은 여전히 사용할 수 있습니다NFFT정말 필요한 경우.
사실 추가된 테이블은 가족을 위한 테이블이에요다리그렇게 말하다ebtables대신에iptables,IP6 테이블또는arp 테이블이는 모두 동일한 동작을 생성하며 아직 렌더링되지 않은 경우 다른 테이블 시리즈를 각각 생성합니다.아이피,IP6또는ARP) 및 그 기본 체인입니다. 따라서 충돌을 피하기 위해 동일한 테이블 이름을 사용하거나 최소한 동일한 테이블 + 체인 조합을 사용하는 것을 피해야 합니다(예:NFFT(대문자) 체인의 규칙은 ip filter INPUT
다음과 관련될 수 있습니다.iptables등. )
이에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
iptables에서 nftables로 마이그레이션 - nftables wiki
레거시 xtables 도구 - nftables wiki
iptables-nft 사용: 하이브리드 Linux 방화벽 - Red Hat
추가 질문에 관해서:
귀하의 규칙은 한 가지 중요한 예외를 제외하고 기본 클라이언트 사용(LAN에서의 SSH 액세스 포함)을 허용하는 것으로 보입니다.
udp sport 53 accept
접근을 허용할 것이다어느시스템의 UDP 포트의 경우 UDP 소스 포트 53에서 "스캔"하면 됩니다.
다음과 같은 보다 합리적인 규칙으로 바꾸십시오.
iif lo accept
로컬 통신이 방해받지 않도록 허용합니다(로컬 DNS 서버 포함).