iptables 반환 코드 4?

iptables 반환 코드 4?

서버와 여러 VPS가 있으므로 iptables를 사용하여 포트를 리디렉션하고 스크립트를 통해 이를 자동화합니다.

서버를 다시 시작한 후 규칙을 삽입하려면 약 500개의 iptables 명령이 필요하지만 때로는 몇 개의 명령만 실행되고 나머지는 실패하고 iptables 명령이 종료 값 4를 반환합니다. 이것이 무엇을 의미하는지 어디서도 찾지 못했습니다.

for-each 루프에 500개의 규칙을 삽입하므로 기본적으로 동시에 많은 규칙을 삽입합니다. 이것이 문제가 될 수 있습니까?

답변1

~에서소스 탐색우리는 include/xtables.h발견한다

enum xtables_exittype {
        OTHER_PROBLEM = 1,
        PARAMETER_PROBLEM,
        VERSION_PROBLEM,
        RESOURCE_PROBLEM,   // number 4 because that's how enum count

따르고 있는 코드 분기에 대해 몇 가지 거친 가정을 하면(인쇄 오류가 없습니까 iptables?) 잠금 문제처럼 보이는 것을 고려할 iptables/iptables.c수 있습니다 . exit(RESOURCE_PROBLEM)이는 iptables명령의 긴밀한 루프에 대한 설명에 적합합니다(비록 stderr에 약간의 오류가 있어야 하지만 인쇄 결과는 어떻습니까?). iptables-restore원자적 수단을 사용하여 필요한 모든 변경 사항을 한 번에 삽입하거나 루프 속도를 늦추고 이 코드를 확인할 수 있습니다. 잘못된 경로가 트리거되는 것입니다).

관련 정보