Ubuntu IPTables는 1 개국 만 허용합니다


10

따라서 인터넷에서 http (80) 및 https (443) 포트를 제외한 모든 포트에 대한 모든 트래픽을 삭제하고 국가 x (내 어디에서나 다른 모든 포트의 트래픽 만 허용하는 스크립트)를 찾고 있습니다. 사례 국가 x는 미국입니다).

모든 국가의 모든 IP를 추가하고 싶지는 않습니다. 국가의 IP를 허용 한 다음 외부 세계의 거의 모든 다른 트래픽을 차단하고 싶습니다. 우리나라 이외의 어느 누구도 ssh, ftp, smtp, ect에 액세스 할 수 없습니다. 나 자신 외에. 이것이 바뀌면 접근 할 때 특별한 경우를 추가 할 것입니다.

사이드 노트

ip 테이블을 사용하여 국가별로 ip금지 하는 스크립트가 포함 된 질문을 찾았 지만 추가 삽입이 필요하다는 것을 알아야합니다.

최상의 답변으로 표시된 스크립트는 해당 IP의 모든 트래픽을 차단합니다. 80 및 443을 제외한 모든 포트에 대한 액세스를 차단하고 싶습니다.

최신 정보

다음 규칙에 따라

iptables -A OUTPUT -m geoip --dst-cc CN -j DROP

그것을 수정하고 다음과 같은 일을 할 수 있을까요?

iptables -A OUTPUT -m geoip --dst-cc CN --dport 80 -j ACCEPT
iptables -A OUTPUT -m geoip --dst-cc CN --dport 443 -j ACCEPT
iptables -A OUTPUT -m geoip --dst-cc CN -j DROP

나는 이것이 중국의 IP가 포트 80과 포트 443에 액세스 할 수 있다고 가정하고 나머지는 삭제합니다. 이 가정이 맞습니까? 그렇지 않다면 왜 안됩니까?

업데이트 2

혼란스러워서 우분투 버전이 --dport속성을 좋아하지 않는다는 것을 알았습니다 . 따라서 Ubuntu 14 이상을 실행하는 사람들을 사용하는 대신 (적어도 일부 컴퓨터에는 Ubuntu 14.04, 14.10 및 15.04 만 설치되어 있어야 함)-p PORT_NUMBER_OR_NAME

그렇게 보일 것입니다

iptables -A OUTPUT -m geoip --dst-cc CN -p 443 -j ACCEPT

또는 들어오는 트래픽

iptables -A INPUT -m geoip --src-cc CN -p 443 -j ACCEPT

답변:


7

지리적 위치에 대한 iptables 지원을 추가해야합니다. 이렇게하려면 다음 단계를 수행해야합니다.

# apt-get install xtables-addons-common
# mkdir /usr/share/xt_geoip
# apt-get install libtext-csv-xs-perl unzip
# /usr/lib/xtables-addons/xt_geoip_dl
# /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv

이를 통해 다음과 같은 작업을 수행 할 수 있습니다.

iptables -A OUTPUT -m geoip --dst-cc CN -j DROP

그것은 중국으로 나가는 모든 트래픽을 차단할 것입니다 (CN). 규칙의 복잡성은 사용자에게 달려 있습니다. 기본적으로 스크립트가 필요하지 않습니다. 적용하려는 규칙을 적어두고 iptables-save다시 부팅 할 때마다로드되도록하십시오.


감사합니다! 다른 질문이 있습니다. 위의 질문을 반영하여 업데이트했습니다. 그것에 대한 답을 알고 싶으십니까?
Austin Kregel

규칙은 효과가 있지만 방향을 변경해야합니다. 이제 규칙 OUTPUT을 설정하고 INPUT사용 --dst-cc하지 --src-cc않고 대신 설정해야합니다 . 그러나 질문이 다른 기존 iptables규칙과 함께 작동해야한다면 대답은 그렇습니다.
nKn

xt_geoip_dl명령은 더 이상 더 이상 나던 존재 우편을 필요로 작동하지 않습니다
마티
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.