때로는 56kbps라는 매우 좁은 인터넷 대역폭을 사용해야 할 때도 있습니다. 내 Ubuntu 데스크탑에는 웹에서 무언가를 지속적으로 확인하는 프로그램이 너무 많습니다. 프로그램을 하나씩 검색하고 비활성화하는 것은 정말 고통스러운 일입니다.
나는 메일 클라이언트를 제외한 모든 프로세스에 대한 인터넷 액세스를 (어떤 수단으로든) 거부할 수 있는 도구를 원합니다.
가능합니까? 그렇다면 어떻게 해야 할까요?
이를 수행하는 한 가지 방법은 다른 네트워크 장치(예: )를 열고 /dev/tap1
이를 (내 일반적인 인터넷 장치)로 라우팅하도록 설정하고 /dev/wlan0
모든 것을 보호하기 위해 켜고 끌 수 있는 사용자 지정 규칙을 사용하는 것입니다. iptables
하지만 저는 iptables 전문가가 아니기 때문에 누군가 나에게 구체적인 지시를 내리지 않는 한 이 솔루션은 쓸모가 없습니다.
답변1
또한 이를 사용하여 iptables
필수 인터페이스에서 udp/tcp 포트를 허용/제한할 수도 있습니다. 예를 들어, tcp/udp 포트 143(IMAP)의 모든 트래픽을 허용하도록 체인 filter
의 테이블에 규칙을 도입해 보겠습니다 .OUTPUT
(sudo) iptables -A OUTPUT -o eth0 -p udp --destination-port 143 -j ACCEPT
(sudo) iptables -A OUTPUT -o eth0 -p tcp --destination-port 143 -j ACCEPT
(sudo) iptables -A OUTPUT -o eth0 -j DROP
내 생각에는 IMAP이 TCP를 통과한다고 생각하지만 만약을 대비해 UDP 프로토콜도 제한하고 있습니다. 이 질문에서는 귀하의 인터넷 인터페이스가 이고 eth0
메일 클라이언트가 IMAP 프로토콜을 사용하여 원격 메일 서버에 연결한다고 가정합니다 . 직접 시도해 보았는데 메일 서버에만 접근이 가능했습니다.규칙의 순서가 중요하다는 점을 기억하세요. 그렇지 않으면 예상대로 작동하지 않습니다.
편집 #1:댓글로 질문하신대로. 인터넷 트래픽을 복원하려면 방금 삽입한 규칙을 삭제하면 됩니다. 다음과 같이 이 작업을 수행할 수 있습니다.
갈 길이 멀다:
(sudo) iptables -D OUTPUT -o eth0 -p udp --destination-port 143 -j ACCEPT
(sudo) iptables -D OUTPUT -o eth0 -p tcp --destination-port 143 -j ACCEPT
(sudo) iptables -D OUTPUT -o eth0 -j DROP
짧은 거리:
(sudo) iptables -nvL --line-numbers
위 명령을 실행하면 각 규칙 앞에 해당 번호가 표시되므로 전체 규칙을 다시 작성하는 대신 해당 번호를 사용하여 규칙을 삭제하는 데 도움이 됩니다. 예제 출력은 다음과 같습니다.
Chain OUTPUT (policy ACCEPT 73 packets, 8766 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT udp -- * eth0 0.0.0.0/0 0.0.0.0/0 udp dpt:143
그런 다음 규칙을 삭제하려면 다음 명령을 실행하십시오.
(sudo) iptables -D OUTPUT 1
아직 규칙도 정하지 않았고 상황이 어떻게 될지 잘 모르겠다면 근거리도 추천한다. iptables
with 매개변수의 출력을 기반으로 규칙을 재구성 할 수도 있습니다 -nvL
.
참고: 이는non-persistent
사용법은 iptables
시스템을 다시 시작하면 규칙이 유지되지 않음을 의미합니다. 규칙을 원하는 경우 persistent
가장 쉬운 방법은 다음 명령을 실행하는 것입니다.
(sudo) iptables-save > /etc/iptables/rules.v4
현재 규칙을 에 저장/덤프합니다 /etc/iptables/rules.v4
. 그런 다음 재부팅 후 iptables는 해당 파일에서 저장된 구성을 읽습니다. IPv6
이 추가 파일을 사용할 수 있습니다 rules.v6
. 이는 Debian
추가 패키지를 설치해야 하는 경우에 적용됩니다. 확인하시기 바랍니다이 가이드상해. 내가 찾은 우분투의 경우이 다른 가이드. 다른 시스템의 경우 인터넷을 검색할 수 있지만 원칙은 동일합니다.You dump your current rules to file and set up a script at boot time to apply those saved rules to the current iptables configuration.
답변2
여러 가상 머신에서 프로세스를 실행할 수 있습니다. 그런 다음 일부 가상 시스템에 대한 네트워크 액세스를 종료할 수 있지만 다른 가상 시스템에 대한 액세스는 종료할 수 없습니다.