Debian 9 - 특정 IP만 MongoDB에 액세스하도록 허용

Debian 9 - 특정 IP만 MongoDB에 액세스하도록 허용

내 Mongo를 특정 IP에만 액세스할 수 있게 하려면 어떻게 해야 합니까?

나는 iptables를 시도했다

iptables -A INPUT -s 192.168.2.111 -p tcp --destination-port 27016 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 192.168.2.111 -p tcp --source-port 27016 -m state --state ESTABLISHED -j ACCEPT
.

근데 뭐정확히응? 내가 어떻게 할 수있는부정적인다른 모든 IP? "미등록"을 허용하고 계속 차단하려면 IP를 더 추가하기 위해 iptables를 어떻게 편집할 수 있나요? 이 iptables 구성을 영구적으로 만들려면 어떻게 해야 합니까?

나는 영어로 말하려고 최선을 다합니다.

답변1

그런데 이것이 정확히 무엇을 하는 걸까요?

이는 단지 두 가지 별도의 규칙일 뿐이며 아무 의미도 없습니다.

다른 모든 IP를 거부하는 방법은 무엇입니까?

두 가지 방법이 있습니다.첫 번째거부 정책 설정:

iptables -P INPUT DROP
iptables -P OUTPUT DROP

그러나 모든 규칙을 재설정하면 서버 연결이 끊어지기 때문에 이 방법은 최선의 방법이 아닙니다. 사용두번째방법:

"모두 허용" 정책과 모든 트래픽을 거부하는 체인의 마지막 규칙이 필요합니다.

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

some rule...
some rule...
some rule...

iptables -A INPUT --destination $host --jump DROP
iptables -A OUTPUT --source $host --jump DROP

여기서 $host- 호스트의 IP 주소입니다.

"미등록"을 허용하고 계속 차단하려면 IP를 더 추가하기 위해 iptables를 어떻게 편집할 수 있나요?

단일 규칙에 여러 주소 또는 IP 서브넷을 추가할 수 있습니다. 예를 들어:

iptables -A INPUT --source 192.168.2.111,192.168.2.1,192.168.56.0/24 --destination $host --protocol tcp --dport 27016 --jump ACCEPT

이 iptables 구성을 영구적으로 만들려면 어떻게 해야 합니까?

그리고iptables-persistent


알아채다: 모든 입/출력 트래픽을 거부하거나 삭제하는 경우 서버에 올바르게 연결하기 위한 수락 규칙을 정의해야 합니다.

을 위한 ssh:

iptables -A INPUT --source 192.168.2.111 --protocol tcp --dport 22 --jump ACCEPT
iptables -A OUTPUT --match conntrack --ctstate ESTABLISHED,RELATED --jump ACCEPT

특히 원격 서버에서 iptables를 주의해서 사용하십시오. 문제가 발생하면 해당 서버에 직접 액세스할 수 없습니다.

관련 정보