am335x 스타터 키트 보드에 상태 저장 방화벽을 설정하는 방법은 무엇입니까?

am335x 스타터 키트 보드에 상태 저장 방화벽을 설정하는 방법은 무엇입니까?

과거에는 문제 없이 다음 스크립트를 사용하여 상태 저장 방화벽(일반 x64 Ubuntu 시스템)을 설정했습니다.

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -N TCP
iptables -N UDP
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i wlan0 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -p icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-rst
iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachable
iptables -A TCP -p tcp --dport 22 -j ACCEPT

표준 SDK 6 이미지를 실행하는 am335x 스타터 키트 보드에서 동일한 작업을 수행하려고 합니다. 따라서 TI의 Arago 운영 체제를 실행합니다.

"-m conntrack"과 관련된 줄에서는 실패합니다.

iptables: No chain/target/match by that name.

"iptables -S"의 출력은 다음과 같습니다.

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

"modprobe nf_conntrack"을 시도했지만 아무 소용이 없었습니다(명령은 성공했지만 도움이 되지 않았습니다.) 또한 의도적으로 명령의 일부 철자를 틀리게 시도했습니다. 예를 들면 다음과 같습니다.

iptables -A INPUT -m conntrack --ctstate BLAH -j ACCEPT

오류 발생: iptables v1.4.15: 잘못된 ctstate "BLAH"

그리고:

iptables -A INPUT -m conntrack --ctstate RELATED -j BLAH

오류 발생: iptables v1.4.15: 'BLAH' 대상을 로드할 수 없습니다: 해당 파일이나 디렉터리가 없습니다

이상하게도 다음과 같은 다른 명령에서는 잘 작동하는 "-A INPUT" 부분에 대해 불평하고 있음을 나타내는 것 같습니다.

iptables -A INPUT -i lo -j ACCEPT

답변1

나는 또한 TI 포럼에 이 질문을 게시했고회신하다.

커널 구성에서 CONFIG_NETFILTER_XT_MATCH_CONNTRACK을 활성화하면 문제가 해결되었습니다. 방금 구성에서 CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y를 설정하고 SDK로 다시 빌드했습니다(지침여기).

새 커널과 모듈을 설치한 후 -m conntrack 명령이 더 이상 불평하지 않습니다.

관련 정보