iptables 쉘 스크립트에 대해 알아보기

iptables 쉘 스크립트에 대해 알아보기

상태:

나는 최근에 iptables와 함께 작동하여 Linux 운영 체제와의 모든 인터넷 액세스를 차단하는 다음 쉘 스크립트를 발견했습니다.그룹라고 불리는 internet:

암호:

복잡하게 들릴 수도 있지만 실제로는 매우 간단합니다. 먼저 다음과 같이 "인터넷" 그룹을 만듭니다.

 sudo groupadd internet 

그런 다음 스크립트에 저장합니다.

 #!/bin/sh
 # Firewall apps - only allow apps run from "internet" group to run

 # clear previous rules
 sudo iptables -F

 # accept packets for internet group
 sudo iptables -A OUTPUT -p tcp -m owner --gid-owner internet -j ACCEPT

 # also allow local connections
 sudo iptables -A OUTPUT -p tcp -d 127.0.0.1 -j ACCEPT
 sudo iptables -A OUTPUT -p tcp -d 192.168.0.1/24 -j ACCEPT

 # reject packets for other users
 sudo iptables -A OUTPUT -p tcp -j REJECT

 # open a shell with internet access
 sudo -g internet -s

원천: https://plus.google.com/+TobyKurien/posts/YZhZJCZmGgm

질문:

일어난 일에 대한 다음 설명이 맞습니까?

  • sudo groupadd internet인터넷이라는 그룹이 설립되었습니다.
  • sudo iptables -Fiptables의 모든 현재 규칙 지우기
  • sudo iptables -A OUTPUT -p tcp -m owner --gid-owner internet -j ACCEPT 이 문제가 발생했습니다... -A OUTPUT터미널에 규칙을 추가/추가하라고 지시한 다음 문서에 -p따라"확인할 패킷의 규칙 또는 프로토콜", 그래서 -p tcp반영하는 선을 배치하는 것 같습니다.TCP 프로토콜프로토콜이지만 YouTube/twitch에서 스트리밍을 시청하려면 어떻게 해야 하나요? 포함해야 합니까 udp? 그렇다면 어떻게 포함해야 합니까?

    그런 다음 -m(일치용)입니다. 문서를 읽었지만 그것이 무엇인지 잘 모르겠습니다. 이제 -m owner --gid-owner internet -j이것이 무엇을 의미하는지 모르겠습니다 .댓글에서 # accept packets for internet group나는 코드가 무엇을 하는지 이해하지만, 그 결론에 도달하기 위해 각 요소가 무엇을 하는지 이해하고 싶습니다.

답변1

귀하의 설명이 정확합니다.

모든 것을 UDP 패킷에도 적용하려면 동일한 규칙 세트를 다시 추가해야 하지만 두 개의 규칙만 추가 -p udp하는-p tcp사용할 권리예를 들어 Youtube의 경우 Youtube의 스트림이 UDP를 사용하더라도 그렇게까지 도달할 수 없기 때문에 스트림을 시청할 수 없습니다.

이 옵션은 -m사용할 일치 유형을 선택합니다. 다양한 기준을 일치시킬 수 있으며 man iptables-extensions일치하는 모듈로 iptables()를 확장할 수도 있습니다. 여기에서 -m owner패킷 소유권으로 일치를 선택하고 --gid-owner일치하는 그룹 소유권을 지정합니다. 따라서 이 두 가지 옵션을 함께 사용하면 "이 규칙은 그룹의 누군가가 보낸 패킷에만 적용됩니다 internet"를 의미합니다.

옵션 -j(초기에는 "점프")은 규칙이 일치할 때 수행할 작업을 지정합니다. ACCEPT(규칙 처리를 중지하고 이 패킷을 보냅니다) 또는 REJECT(규칙 처리를 중지하고 이 패킷을 무시합니다) 다른 체인으로 이동할 수 있습니다.

다음 두 규칙은 전송 응용 프로그램이 속한 그룹에 관계없이 패킷( ACCEPT)이 특수 대상( )으로 전송되도록 허용하고, 마지막 규칙은 이전 규칙( )과 일치하지 않는 모든 패킷을 삭제합니다. 따라서 마지막 규칙은 실제 차단을 수행합니다.-dREJECT

iptables인터넷에는 많은 튜토리얼이 있습니다. 더 자세한 내용을 알고 싶다면 Google에서 검색하여 원하는 것을 선택하세요. 과거에 유용하다고 생각한 임의의 링크는 다음과 같습니다.

관련 정보