저는 일종의 학교 프로젝트를 진행하고 있으며 가상 머신(virtualbox를 사용하여 가상 머신을 호스팅함)이 포트 6969를 사용하여 호스트 머신과 통신하도록 해야 합니다.
문제는 이 특정 포트를 열려고 시도한 후에도 가상 머신에서 여전히 연결이 거부되었다는 메시지가 표시된다는 것입니다. 저는 브리지 어댑터를 사용하고 있고 가상 머신은 Linux 가상 머신이고 호스트는 manjaro입니다. 가상 머신에서는 sudoer 작업을 수행할 수 없습니다. 학교에서 제공한 iso에 설치되어 있기 때문에 확실히 작동하지만(나 외에는 문제가 없는 사람이 있음) 나에게 관리 권한을 부여하지 않습니다.
SSH 연결은 괜찮습니다. 다음은 가상 머신에서 실행한 몇 가지 명령입니다.
$> nc -zvw10 192.168.1.40 6969
nc: connect to 192.168.1.40 port 6969 (tcp) failed: Connection refused
$> nc -zvw10 192.168.1.40 22
Connection to 192.168.1.40 22 port [tcp/ssh] succeeded!
호스트 측에서 iptables를 열고 새로 고쳤습니다.
$> sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables를 사용하여 새로운 규칙을 설정해보세요
sudo iptables -A INPUT -p tcp --dport 6969 -j ACCEPT
sudo systemctl restart iptables
성공하지 못한 채 새로운 규칙을 설정하기 위해 Gufw(ufw의 GUI)를 사용해 보았습니다.
무엇을 시도할지에 대한 아이디어는 나에게 큰 도움이 될 것입니다. 읽어 주셔서 감사합니다.
편집: C로 작성된 실행 파일을 사용하여 호스트와 통신해야 합니다. 실행 파일은 connect()를 사용하여 데이터를 보내는 것 같아서 여기서 통신 방법을 선택할 수 없습니다. 포트 6969를 사용한다는 것만 알고 있습니다. 정의된 IP에 연결합니다. (호스트 로컬 IP를 연결 대상으로 사용합니다.)