Vagrant VM을 실행 중이고 네트워크 격리 모드를 사용하려고 합니다. 기본 NAT 인터페이스로 무엇이든 비활성화하거나 변경하면 Vagrant가 중단되므로 호스트 IP를 제외한 CentOS 7 VM 내부의 모든 트래픽을 차단하기로 결정했습니다.
1.1.1.1을 호스트의 IP로 만들어 보겠습니다.
이것은 Guest CentOS 7 VM 내에서 시도하는 명령입니다.
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -s 1.1.1.1 -j ACCEPT && \
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -d 1.1.1.1 -j ACCEPT && \
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -j DROP && \
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -j DROP && \
sudo firewall-cmd --reload
이를 통해 게스트에서 호스트로 핑을 보낼 수 있지만 호스트에서 게스트로 핑을 보낼 수는 없습니다.
내가 도대체 뭘 잘못하고있는 겁니까? 기본적으로 VM과 호스트에 대한 SSH, TCP, UDP 액세스 권한만 있으면 됩니다.
답변1
@djdomi의 답변이 저에게 효과적인 것 같습니다.
VM에서 다음 명령을 사용하여 게이트웨이를 삭제했습니다.
sudo ip route del 0/0
네트워크 연결이 끊어졌습니다. 그러나 다음을 사용하여 SSH를 수행할 수 있었습니다.vagrant ssh
처음에는 VM을 스캔하기 위해 nmap을 사용하려고 시도했지만 작동하지 않는 private_network의 고정 IP를 사용하고 있었습니다. Vagrant의 NAT IP를 사용하여 호스트에서 VM으로 핑을 보낼 수 있을 뿐만 아니라 nmap 스캔도 가능했습니다.