
뒤에 LAN이 있는 SSH 서버/방화벽(192.168.2.3)(가령 192.168.2.1/30)에서 192.168.2.1/30 네트워크의 내부 시스템에 의한 연결 시도는 방화벽에 의해 수신 또는 수신으로 해석됩니다. 나가는 연결?
수신 또는 발신으로 읽는 경우 대상 또는 소스 주소 블록(192.168.2.1/30)을 지정해야 합니까? 아니면 정확히 언제 -d 또는 -s 옵션이 필요합니까?
내 이해는 다음과 같습니다. 내부 기계가 외부 세계와 새로운 연결을 만들기를 원한다면 규칙은 다음과 같습니다.
iptables -A OUTPUT -s 192.168.2.8/30 -m state --state NEW -j ACCEPT
SSH 서버가 외부 세계에 새로운 SSH 연결을 만들고 싶다면 규칙은 다음과 같습니다.
iptables -A OUTPUT -p tcp --sport 22 -m state --state NEW -j ACCEPT
이 경우 SSH 서버 IP 주소를 생략해야 하나요, 아니면 규칙에 포함해야 하나요?
많은 감사를 드립니다.
답변1
INPUT
OUTPUT
실행 중인 시스템에 대해서만 정의 됩니다 iptables
. 다르게 말하면, iptables
인터페이스에 어떤 종류의 시스템이 있는지는 상관하지 않습니다. 인터페이스가 신뢰할 수 있는 LAN, DMZ, 노트북과 상어로 가득 찬 탱크에 연결되는지는 중요하지 않습니다.
INPUT
항상 교통 상황을 나타냅니다.입력로컬로 종료하기 위한 외부 인터페이스입니다. OUTPUT
로컬에서 발생하여 곧 발생하는 트래픽을 말합니다.떠나다인터페이스를 통해. FORWARD
한 인터페이스를 통과하고 곧바로 다른 인터페이스로 나가는 트래픽을 나타냅니다.
위에서 인용한 첫 번째 것은 192.168.2.0/30
한 인터페이스의 LAN에서 다른 인터페이스의 외부 세계로의 트래픽을 중재하므로 둘 다 체인에 있어야 합니다 FORWARD
. 두 번째는 방화벽에서 외부로의 트래픽을 중재하므로 현재로서는 괜찮습니다.
LAN이 아니라는 점을 추가하고 방화벽에 LAN 컨텍스트에서 잘못된 주소가 있으므로 해당 넷마스크를 확인해야 할 수도 있습니다(브로드캐스트 주소이므로 단일 호스트에 할당하면 안 됨). ). 보다ipv4 서브넷에 관한 유명한 표준 질문추가 논의를 위해.