
문제: iptables
변경할 수 없습니다. 내 컴퓨터에서는 iptables -F
. iptables -L
플러시되었음을 보여줍니다.
패킷이 시스템으로 들어오거나 시스템에서 나가면 모든 규칙이 다시 적용됩니다! . iptables-restore < new_settings
그들은 잠시 동안 존재하지만 일단 패킷이 들어오면 iptables
되돌아갑니다.
나는 사용하고있다데비안 8OS가 업그레이드되었습니다.데비안 7. 원래는 다른 사람의 컴퓨터입니다.
내가 확인한 것은 다음 중 하나일 것이라고 생각했습니다.
iptables-persistent
존재하지 않습니다/etc/iptables/
존재하지 않는다- 프로세스를 보면 이름에
systemctl
아무것도 포함되어 있지 않습니다.ip
/# systemctl --all | grep ip run-rpc_pipefs.mount loaded active mounted /run/rpc_pipefs systemd-initctl.socket loaded active listening /dev/initctl Compatibility Named Pipe
# firewalld
시스템에 없습니다 .
시스템 구성을 변경하는 서비스나 항목을 어디에서 찾을 수 있나요?
답변1
어쩌면 당신은 사용할 수 있습니다 audit
. Fedora는 기본적으로 이를 활성화하며 NETFILTER_CFG 행으로 저널을 넘치게 합니다.
이 질문을 참조하세요:
실행 중인 iptables 구성의 변경 사항을 감사합니다.
표시된 예에서 관련 프로세스는 iptables
별로 도움이 되지 않을 수 있습니다. 그러나 이는 또한 ppid
상위 프로세스(명백한 프로세스도 포함 pid
)를 기록합니다.
상위 프로세스의 경우또한즉시 종료됩니다...
프로세스 계정(패키지)을 사용하면 모든 종료 프로세스( 명령) acct
의 이름을 쉽게 추적 할 수 있습니다. lastcomm
그러나 그것은 당신이 생각하는 것보다 적은 정보입니다. 나는 여기서 "bash"를 생각하고 있습니다.
fatrace
프로그램 실행을 포함하여 열린 파일을 추적하기 위해 실행하는 것이 더 나을 수 있습니다 . 예를 들어 grep을 통해 파이프하려고 하지 마십시오. 출력을 생성하지 못할 것입니다. 이유는 모르겠습니다.
또한페이지execsnoop
. 해당 프로그램이나 제안된 대안을 사용할 수 있다면 해석하기 가장 쉬울 것입니다.
기술적으로는 fork()
. 하지만 넷필터 규칙을 만들기 위해 왜 그렇게 하지 fork()
않을지 에 대한 타당한 이유가 생각나지 않습니다 .exec()
답변2
TL;DR구성 파일이 항상 변경되는 이상한 문제가 있는 경우 /etc/network/if-*.d
이미 구성을 확인했다면 파일을 확인하세요 systemd
.
명령(또는 실제로 무엇이든)을 변경할 수 있는 위치에 대한 또 다른 옵션이 인터넷 연결을 기반으로 변경을 처리하는 폴더 에 iptables
있는 것으로 나타났습니다 .if-up.d
if-down.d
거기에는 , 등을 /etc/network/
위한 폴더가 있었습니다 .if-pre-up.d
if-up.d
if-*
각각에는 조건이 충족될 때 실행할 스크립트 세트가 포함되어 있습니다 . 따라서 인터넷 연결이 변경될 때마다( 에서 변경된 것으로 보임 ) 의 파일로 iptables를 재설정하는 iptables
스크립트를 실행합니다 ./sbin/iptables-restore < /etc/network/iptables
iptables
/etc/network/