私は一種の学校プロジェクトを進めており、仮想マシン(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を接続先として使用します。)