IPTable은 로컬 호스트 액세스 만 허용


58

나는 몇 년 동안 iptables에 대한 확실한 이해를 얻기 위해 고심했습니다. 맨 페이지를 통해 읽으려고 할 때마다 내 눈이 흐려지기 시작합니다.

로컬 호스트 만 액세스 할 수있는 서비스가 있습니다.

로컬 호스트 호스트 만 특정 포트에 액세스 할 수 있도록하려면 어떤 용어 (또는 누군가가 관대하다고 생각하는 경우 구성)를 사용해야합니까?


2
이 서비스는 어떤 포트에서 실행됩니까?
Bart De Vos

44344, 자체 작성 서비스
iptablessuck

1
'iptablesrules'에 대한 내 닉을 일시적으로 변경하고 싶지만 변경할 수 없습니다.
Art Shayderov

@Art, 그들은 내가 그들을 이해하지 못하기 때문에 빨아 :)
iptablessuck

@iptablessuck 실제로는 내가 할 수있는 것처럼 보입니다. 그러나 나는 그것을 다시 바꿀 수 있을지 확신 할 수 없다. :)
Art Shayderov

답변:


65

서비스별로 특정 포트를 의미하는 경우 다음 두 줄이 작동합니다. "25"를 제한하려는 포트로 변경하십시오.

iptables -A INPUT -p tcp -s localhost --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP

1
"localhost에서 포트 25로 들어오는 모든 항목은 수락"이고 두 번째 규칙은 "포트 25로 들어오는 모든 항목을 삭제합니다"입니다. 첫 번째 줄이 먼저 처리되어 localhost를 허용하고 다른 줄은 두 번째 줄에 의해 삭제됩니다. 예?
iptablessuck

맞습니다!
Hyppy

4
@Hyppy, 이걸 어떻게 "취소"하겠습니까?
테스터

10
@tester는 해당 명령을 다시 입력하지만 다음으로 대체하십시오 -A.-D
pepoluan

1
@Astronaut type 'sudo service iptables save'변경 사항을 저장하십시오. 그런 다음 재부팅하십시오. 'sudo iptables -L'을 입력하여 변경 사항이 저장되었는지 확인할 수 있습니다
Vinayak

30

나는 추천한다 :

iptables -A INPUT -i lo -p tcp --dport $APP_PORT -j ACCEPT
iptables -A INPUT -p tcp --dport $APP_PORT -j DROP

자체 주소가 지정된 패킷의 소스는 반드시 127.0.0.1 일 필요는 없지만 모두 lo인터페이스 에서 '입력' 됩니다.

당신은 지금, 만약 정말 이해하려는 iptables당신이해야 할 첫 번째 일은 다운로드와의 관계를 설명하는 좋은 다이어그램을 인쇄하는 것입니다 netfilter테이블. 다음은 두 가지 위대한 것입니다.

마지막으로, 많은 iptables하우투를 읽으십시오 . 실제 예제는 최신 속도를 빠르게하는 데 도움이됩니다. :)


타이! lo이 링크에서 마지막 명령이 명령을 사용한 후 나를 위해 나타 cyberciti.biz/faq/howto-display-linux-iptables-loaded-rules iptables -L -v -n --line-numbers

2
@Gracchus 사용하기가 훨씬 쉽고 iptables-save, 출력을 파일로 저장하고, vim또는로 편집하고 emacs,를 사용하여 편집 된 파일을 다시 가져 iptables-apply
오기

유스 케이스에 따라 두 번째 규칙은 자동으로 삭제하는 대신 명시 적으로 거부해야한다고 생각합니다. 모범 사례로 자동 삭제됩니까? REJECT를 사용하는 것이 안전합니까?
Mr. Doomsbuster

1
@ tech-pro 예, REJECT는 사용하기에 안전합니다. 그것은 당신이 성취하려고하는 것과 항구를 사용하려는 사람들에게 정중하고 싶어하는지에 달려 있습니다. REJECT는 TCP RST 패킷을 보내 클라이언트에게 시스템이 작동하지만 포트가 닫 혔음을 알려줍니다. 사람들이 합법적으로 사용할 것으로 예상되는 포트를 닫을 경우 REJECT가 좋습니다. 포트 스캐너 만 필요한 경우 DROP이 좋습니다.
법률 29

1
@ x-yuri 예를 들어, unbound앞에서 DNS Cache로 실행 dnscrypt-proxy합니다. unbound에 바인딩 127.0.53.1:53하고에 dnscrypt-proxy바인딩합니다 127.0.53.2:53. 앱이 FQDN을 해결하기 위해 언 바운드 또는 dnscrypt-proxy를 요청할 때 언 바운드 / dnscrypt-proxy가 어떤 소스 주소에서 응답할까요?
pepoluan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.