외부에서 접근이 불가능한 Vagrant Machine [닫기]

외부에서 접근이 불가능한 Vagrant Machine [닫기]

"외부에서"라는 말은 인터넷을 의미합니다.

내 컴퓨터가 라우터 뒤에 있습니다. 나는 3 대의 머신을 부팅하기 위해 vagrant를 실행하고 있습니다. 다음은 방랑 파일입니다(중복된 내용을 제거했습니다).

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-20.04"
  config.vm.provider :virtualbox

  mount_new_disk = <<-SCRIPT
  sudo mkdir /mnt/da
  sudo mkfs -t ext4 /dev/sdb
  sudo mount /dev/sdb /mnt/da
  SCRIPT

  config.vm.define "da1" do |da1|
    da1.vm.synced_folder ".", "/vagrant", disabled: true
      da1.vm.hostname = "da1"
      da1.vm.network "private_network", ip: "10.118.8.10"
      config.ssh.forward_agent = true
  end

  config.vm.define "da2" do |da2|
    da2.vm.synced_folder ".", "/vagrant", disabled: true
    da2.vm.disk :disk, name: "backup", size: "10GB"
      da2.vm.hostname = "da2"
      da2.vm.network "private_network", ip: "10.118.8.11"
      config.ssh.forward_agent = true
    config.vm.provision :shell, :inline => mount_new_disk
  end

  config.vm.define "da3" do |da3|
    da3.vm.synced_folder ".", "/vagrant", disabled: true
    da3.vm.disk :disk, name: "backup", size: "10GB"
    da3.vm.hostname = "da3"
    da3.vm.network "private_network", ip: "10.118.8.12"
      da3.vm.network "public_network", ip: "192.168.1.155", netmask: "255.255.255.0", bridge: "Intel(R) I211 Gigabit Network Connection"
    da3.vm.network "forwarded_port", guest: 22, host: 5555
      config.ssh.forward_agent = true
    config.vm.provision :shell, :inline => mount_new_disk
  end
end

가상 머신의 sshd 구성:

testuser1@da3:~$ head -20 /etc/ssh/sshd_config|grep -v '#'
Include /etc/ssh/sshd_config.d/*.conf

Port 22
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::

브리지 IP( )를 사용하여 192.168.1.155내 컴퓨터의 모든 터미널에서 연결할 수 있습니다.

D:\vag_rant>ssh [email protected]
[email protected]'s password:
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-58-generic x86_64)

방화벽이 꺼진 경우:

testuser1@da3:~$ sudo ufw status
Status: inactive

ip addr가상 머신의 출력은 다음과 같습니다.

testuser1@da3:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:14:86:db brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
       valid_lft 86205sec preferred_lft 86205sec
    inet6 fe80::a00:27ff:fe14:86db/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:86:38:bf brd ff:ff:ff:ff:ff:ff
    inet 10.118.8.12/24 brd 10.118.8.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe86:38bf/64 scope link
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:5a:fa:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.155/24 brd 192.168.1.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe5a:fa4c/64 scope link
       valid_lft forever preferred_lft forever

port 22라우터에서 IP를 엽니 다 192.168.1.155.

지금까지는 모든 것이 좋아 보입니다. 브리지된 네트워크 어댑터만 있는 가상 머신을 사용하기 전에 이 작업을 수행한 적이 있으며 작동했습니다. 외부에서 접근이 가능합니다.

그러나 어떤 이유로 이것은 작동하지 않습니다. 내 공용 IP를 사용하여 외부에서 누구도 내 컴퓨터에 접근할 수 없습니다.

약간의 노력 끝에 진전이 있었고 지금은 no route to host.

답변1

편집: 문제를 발견했습니다. 동일한 포트 22가 라우터의 다른 시스템으로 전달됩니다. 이 문제를 해결하고 나니 또 다른 문제가 나타났습니다. vagrant 머신의 기본 게이트웨이는 virtualbox 어댑터의 게이트웨이입니다. 라우터의 기본 게이트웨이로 수정해야 했고 작동했습니다.

root@da3:/home/testuser1# ip route show
default via 10.0.2.2 dev eth0 proto dhcp src 10.0.2.15 metric 100
default via 192.168.1.254 dev eth2 proto dhcp src 192.168.1.104 metric 100
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
10.0.2.2 dev eth0 proto dhcp scope link src 10.0.2.15 metric 100
10.118.8.0/24 dev eth1 proto kernel scope link src 10.118.8.12
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.104
192.168.1.254 dev eth2 proto dhcp scope link src 192.168.1.104 metric 100
root@da3:/home/testuser1# ip route del default via 10.0.2.2
root@da3:/home/testuser1# ip route show
default via 192.168.1.254 dev eth2 proto dhcp src 192.168.1.104 metric 100
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
10.0.2.2 dev eth0 proto dhcp scope link src 10.0.2.15 metric 100
10.118.8.0/24 dev eth1 proto kernel scope link src 10.118.8.12
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.104
192.168.1.254 dev eth2 proto dhcp scope link src 192.168.1.104 metric 100

관련 정보