로컬 시스템에 iptables가 적용되어 원격 SSH에 액세스할 수 없습니다.

로컬 시스템에 iptables가 적용되어 원격 SSH에 액세스할 수 없습니다.

SSH를 통해 액세스하고 싶습니다.192.168.1.15내 컴퓨터의 서버, 내 IP는192.168.1.99.

소스 대상이 UP이고 IP가 있습니다.192.168.1.15.

이것은 30개의 컴퓨터가 네트워크에 연결되어 있고 잘 작동하는 LAN입니다. 프로덕션 VPS에 동일한 규칙을 적용해야 하기 때문에 로컬 컴퓨터에서 플레이하고 있습니다.

내 컴퓨터 192.168.1.99에 다음 iptables를 적용했습니다. 이제 아래 체인을 적용하는 동안 외부에서 패킷을 받을 수 없고 외부로 패킷을 보낼 수도 없습니다.

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

위 체인에 이어 머신에서 SSH를 허용하는 다음 규칙을 추가했습니다.192.168.1.15입장192.164.1.15하지만 난 아직도 접근할 수 없어192.168.1.15.

iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

내 규칙이 올바른지 확인해주세요. 여전히 15번 머신에 액세스할 수 없습니다.

답변1

규칙은 올바른 것 같지만 SSH 제공 및 SSH 클라이언트 사용이 포함됩니다.

세분성이 필요하지 않으면 인터페이스를 지정할 필요가 없습니다.

ICMP 메시지가 차단되어 연결이 작동하지 않을 수 있습니다.

루프백 트래픽도 삭제되어 의도하지 않은 결과가 발생할 수 있습니다.

  • 고객 규칙

    iptables -A INPUT  -i lo   -j ACCEPT
    iptables -A OUTPUT -o lo   -j ACCEPT
    iptables -A INPUT  -p icmp -j ACCEPT
    iptables -A OUTPUT -p icmp -j ACCEPT
    iptables -A INPUT  -p tcp  --sport 22 -m state --state ESTABLISHED     -j ACCEPT
    iptables -A OUTPUT -p tcp  --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
    
  • 서버 규칙

    iptables -A INPUT  -i lo   -j ACCEPT
    iptables -A OUTPUT -o lo   -j ACCEPT
    iptables -A INPUT  -p icmp -j ACCEPT
    iptables -A OUTPUT -p icmp -j ACCEPT
    iptables -A INPUT  -p tcp  --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p tcp  --sport 22 -m state --state ESTABLISHED     -j ACCEPT
    

tcpdump테스트하는 동안 연결을 시도하는 일정 시간 동안 트래픽을 실행하여 클라이언트에서 생성되고 서버에 나타나는 트래픽을 모니터링할 수 있습니다. 이렇게 하면 문제가 무엇인지, 무슨 일이 일어나고 있는지 범위를 좁히는 데 도움이 될 수 있습니다.

client$ tcpdump -ni eth0 host 192.168.1.15
server$ tcpdump -ni eth0 host 192.168.1.99

관련 정보