포트 전달은 일반 호스트에서는 작동하지만 KVM 게스트에서는 작동하지 않습니다.

포트 전달은 일반 호스트에서는 작동하지만 KVM 게스트에서는 작동하지 않습니다.

저는 포트 포워딩을 사용하여 집(172.16.1.x)과 직장(10.xxx)의 두 네트워크를 연결하여 쉽게 액세스할 수 있도록 했습니다. 내 직업에서는 192.168.203.x라는 범위도 할당했습니다. NAT도 관련되어 있습니다.

이 iptables 설정은 오랫동안 저에게 효과적이었으며 홈 네트워크의 Linux 기반 라우터에 존재합니다.

*nat

# -- NAT configuration.
# ---- Static NAT towards Work
        -I PREROUTING -i vlan7 -d 192.168.203.3 -j DNAT --to 172.16.1.4
        -I POSTROUTING -o vlan7 -s 172.16.1.4 -j SNAT --to 192.168.203.3

# ---- NAT (shared IP) towards the Internet and Work networks.
        -A POSTROUTING -o vlan4 -j MASQUERADE
        -A POSTROUTING -o vlan7 -j MASQUERADE

COMMIT


*filter

# -- Rules for packets coming from Work zone.
# ---- Allow SSH from Work to only some hosts.
        -A INPUT -i vlan7 -s 10.0.6.1 -d 192.168.203.2 -p tcp --dport 22 -j ACCEPT
        -A FORWARD -i vlan7 -s 10.0.6.1 -d 172.16.1.4 -p tcp --dport 22 -j ACCEPT

# ---- Allow packets from connections starting from our end.
        -A FORWARD -i vlan7 -m state --state ESTABLISHED,RELATED -j ACCEPT
        -A INPUT -i vlan7 -m state --state ESTABLISHED,RELATED -j ACCEPT

# ---- Log/drop the rest.
        -A INPUT -i vlan7 -j LOG
        -A FORWARD -i vlan7 -j LOG
        -A INPUT -i vlan7 -j DROP
        -A FORWARD -i vlan7 -j DROP
COMMIT

이렇게 하면 172.16.1.4가 있는 홈 네트워크에서 SSH에 정기적으로 액세스할 수 있습니다(여기서는 특별한 것이 아닙니다). 회사 네트워크(내 컴퓨터는 10.0.6.1)에서 IP 192.168.203.2를 통해 액세스할 수 있습니다. 모든 것이 정상입니다.

그러나 해당 호스트를 KVM 게스트(IP가 172.16.1.4로 설정된 브리지 모드)로 교체하면 다음과 같은 일이 발생합니다.

  • 내 홈 네트워크에서 호스트에 계속 액세스할 수 있습니다.
  • 호스트 자체는 인터넷과 업무 네트워크에 액세스할 수 있습니다.
  • 더 이상 회사 네트워크에서 액세스할 수 없습니다.

그래서 포트포워딩은 더 이상 작동하지 않는 것 같습니다. KVM이 이것과 어떤 관련이 있는지 이해가 안 되지만, 혹시 제가 뭔가를 놓치고 있는 게 아닐까요?

관련 정보