시작 시 iptables 명령 실행(잠긴 IoT 장치에서)

시작 시 iptables 명령 실행(잠긴 IoT 장치에서)

저는 공급업체의 Linux 커널 3.12.70 사용자 정의 배포판을 실행하는 셀룰러 모뎀/라우터를 사용하고 있습니다.

사용자 정의 규칙을 추가하고 싶지만 iptables재부팅 시 계속 삭제됩니다.

나는 노력했다https://help.ubuntu.com/community/IptablesHowTo#Saving_iptables해결 방법 2이지만 작동하지 않습니다.

그런데 cat on 을 실행하면 iptables-restore문자 ipstables-save가 왜곡되어 바이너리이거나 암호화되어 보호될 수 있습니다.

그러나 iptablesSSH를 통해 개별 명령을 실행하면 재부팅할 때까지 계속 작동합니다.

iptables재부팅 시 CLI를 통해 단일 규칙을 자동으로 실행하는 방법을 찾으려고 합니다 .

#!/bin/sh -e나는 추가하고 싶은 줄을 추가 하고 그것을 init.d디렉토리에 넣고 실행 가능하게 만들고 실행한 update-rc.d다음 rc5.d디렉토리에 복사했습니다 ln -s.

답변1

  1. sudo -s (루트로 로그인)
  2. mount -o remount,rw / (전체 파일 시스템을 읽기-쓰기 모드로 마운트합니다)
  3. /etc/init.d/에 스크립트를 생성합니다(제 경우에는 install_firewall.sh 스크립트를 생성했습니다).
  4. "update-rc.d start 99 5." (update-rc.d 명령을 사용하여 원하는 런레벨에 스크립트를 추가합니다. 제 경우에는 "update-rc.d install_firewall.sh start 99 5." 명령을 넣습니다. runlevel 5 및 우선 순위 99의 install_firewall.sh는 재부팅 후 마지막 스크립트 실행을 의미합니다.
  5. 내 스크립트에서는 코드의 모든 방화벽 규칙이 적용되도록 35초 지연을 추가한 다음 스크립트를 통해 이를 조작하기 시작합니다.

'#!/bin/bash'

sleep 35
iptables [...]//Add custom iptables rules here
exit 0

관련 정보