DD-WRT 파일 시스템에서 iptables 스크립트는 어디에 저장되어 있나요?

DD-WRT 파일 시스템에서 iptables 스크립트는 어디에 저장되어 있나요?

나는ASUS RT-N16 라우터오픈 소스 플래시를 사용했습니다DD-WRT펌웨어. 내 로그인 정보를 기반으로 ssh다음을 실행 중입니다.

DD-WRT v24-sp2 mega (c) 2010 NewMedia-NET GmbH
Release: 08/07/10 (SVN revision: 14896)

iptables 규칙을 사용자 정의할 수 있기를 원하지만 그 전에 브라우저/GUI 인터페이스 설정을 조작할 때 구성된 내장 규칙의 출력을 보고 싶습니다. 브라우저 인터페이스의 방화벽 스크립트 탭이 사용자 정의 방화벽 규칙을 입력하는 데 사용된다는 것을 알고 있지만 출력을 볼 수 있는 위치를 찾을 수 없습니다.

성숙한 Linux 시스템에서 iptables 규칙 /etc/sysconfig/iptables은 DD-WRT 파일 시스템에서 어디에서 찾을 수 있습니까? 저 할 수 있어요

iptables -L -vn --line-numbers

그리고바라보다출력되지만 제가 찾고 있는 것은 iptables-save명령이 출력할 수 있는 것보다 더 많은 것입니다. 이를 통해 적절한 규칙을 사용자 정의 스크립트에 통합할 수 있습니다.

내가 아는 한 이 버전에는 명령이 없습니다 iptables-save. 나는 명령 자체를 원하지 않고 명령이 생성하는 출력만 원합니다. 그런 것이 있었다면 /etc/sysconfig/iptables나는 그것을 갖고 싶지 않을 것입니다 iptables-save. 유사한 기능을 제공하는 다양한 버전의 DD-WRT가 있을 수 있다는 것을 확인했지만 iptables-save아직 라우터를 다시 플래시할 준비가 되어 있지 않거나 그럴 의향이 없습니다. 어쩌면 최후의 수단으로.

편집하다: 이것대개시작 스크립트 등의 Linux 위치(예: , , /etc/init.d... /etc/rc)에는 유용한 것이 없는 것 같습니다(적어도 제가 설치한 DD-WRT 버전에서는). 예를 들어 다음을 확인하세요 /etc/init.d.

[/etc/init.d]# ll
-rwxr-xr-x    1 root     root           84 Aug  7  2010 rcS
-rwxr-xr-x    1 root     root           10 Aug  7  2010 S01dummy
[/etc/init.d]# cat rcS
#!/bin/sh
for i in /etc/init.d/S*; do
  $i start 2>&1
done | logger -s -p 6 -t '' &
[/etc/init.d]# cat S01dummy
#!/bin/sh

답변1

찾다

/tmp/.ipt
/tmp/.rc_firewall

내가 찾고 있는 것을 제공합니다: iptables 규칙은 일반적으로 /etc/sysconfig/iptables.

나는 더 일찍 알았다이것:

dd if=/dev/mem | strings | grep -i iptables

...다행히도 간단한 DD-WRT 파일 시스템에서 작동합니다. 내가 찾고 있는 것을 정확하게 제공하지는 않지만 다른 방법으로는 정확히 찾아낼 수 없는(또는 적어도 단일 명령으로는) 꽤 많은 정보를 출력합니다.

다음 출력과 비교하여 실제로 유효한 것이 무엇인지 결정해야 합니다.

iptables -L -vn --line-numbers
iptables -L -vn -t nat --line-numbers
iptables -L -vn -t mangle --line-numbers

나는 또한 명령이 grep실제로하다일하다[처음에 작동하지 않는다고 말씀드려 죄송합니다. 마지막으로 시도했을 때 작동하지 않았음을 맹세합니다. 나의 가장 큰 죄. ] 을 사용하여 grep찾았습니다.

/lib/services.so

iptables내부에도 풍부한 구성이 있습니다.

답변2

*WRT 배포 변형이 많고 다양한 장치가 다양한 방식으로 설정되므로 이것이 귀하의 구성에 적용될지는 확실하지 않지만 그럴 수도 있습니다.

기본 *WRT 구성에는 읽기 전용 루트 파일 시스템이 있으므로 파일 시스템에 사용자 정의 콘텐츠를 저장할 수 없습니다. 반대로,시작하다다양한(변형에 따라 다름) 설정 로드NVRAM, 이는 키-값 쌍의 간단한 목록으로 구성됩니다. 방화벽 규칙은 변형 관련 항목에 저장됩니다.NVRAM 항목. 이름에 다음이 포함되거나 firewall값에 iptables또는 유사한 이름이 포함된 이름을 찾습니다.

ssh ROUTER_HOSTNAME nvram export --dump >nvram.txt라우터의 NVRAM 내용을 탐색하려면 이 프로그램을 자유롭게 실행하세요 .

답변3

나는 같은 문제가 있었고 위키 페이지 iptables에서 제안한 대로 심볼릭 링크를 만들어 보았습니다.iptables-saveDD-WRT_V24_.26_iptables-저장, 하지만 나에게는 작동하지 않습니다.

이 문제를 해결하기 위해 /tmp/.ipt.

/jffs/bin/iptables-저장:

#!/bin/sh
cat /tmp/.ipt

참고: Wiki 페이지(DD-WRT_V24_.26_iptables-저장)은 방화벽 생성기에 관한 것입니다. 방화벽 생성기로 이 솔루션을 테스트하지 않았습니다.

관련 정보