문제 : 동일한 네트워크에있는 각 컴퓨터는 자체를 포함하여 모든 구성원에게 브로드 캐스팅 할 수 있어야합니다.Vagrant & VirtualBox에서 'socat'을 사용하여 멀티 캐스팅 Env
이것은 Vagrant & VirtualBox Envrionment에서 만든 VM을 사용하여 socat
의 작동중인 멀티 캐스트를 얻으려고합니다. 상황이 다르게 작동하는 것 같아서 먼저 물리적 컴퓨터에서 작동하는 멀티 캐스트를 확인하려고했습니다.
우분투 12.04 서버가 설치된 물리적 시스템이 3 개 있으며 pc0
, pc1
및 pc2
으로 명명되었습니다. 각 시스템에서
내가 실행 socat STDIO UDP-DATAGRAM:224.0.0.1:2200,bind=:2200
... 내가 pc0
에서 hi from pc0
를 입력 할 때, 그것은 자신과 다른 2 기계로 방송하고 이것이 내가 원하는 것을 (그리고 내가 희망이 얼마나 멀티 캐스트입니다) 작업을하기로 :이 모든 시스템에서 멀티 캐스트를 위해 기본적으로 사용되는 것과 IP 224.0.0.1
을 사용하고
[email protected]:~$ socat STDIO UDP-DATAGRAM:224.0.0.1:2200,bind=:2200
hi from pc0
hi from pc0
[email protected]:~$ socat STDIO UDP-DATAGRAM:224.0.0.1:2200,bind=:2200
hi from pc0
[email protected]:~$ socat STDIO UDP-DATAGRAM:224.0.0.1:2200,bind=:2200
hi from pc0
.
다음은 3 개의 VM (, vb1
및 vb2
)을 사용하여 동일한 항목을 구현하려고했습니다. Github 레포는 here입니다.
[email protected]:~$ socat STDIO UDP-DATAGRAM:224.0.0.1:2200,bind=:2200
hello from vb0
hello from vb0
을 ... 그리고 그것은 그 자체를 제외하고 (위의 실제 머신의 경우와 같이) 다른 회원들에게 브로드 캐스트하지 않습니다
는 지금은vb0
에서 방송했습니다. 것 같다
는
Vagrantfile
... 추가 설정이 작업을하기 전에 수행해야합니다 있습니다 :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu-12.04-x64"
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider "virtualbox" do |vb|
vb.cpus = "2"
vb.memory = "4096"
end
config.vm.provision "chef_apply" do |chef|
chef.recipe = File.read("recipe.rb")
end
config.vm.define "vb0" do |vb0|
vb0.vm.hostname = "vb0"
vb0.vm.network "private_network", ip: "10.20.30.100"
end
config.vm.define "vb1" do |vb1|
vb1.vm.hostname = "vb1"
vb1.vm.network "private_network", ip: "10.20.30.101"
end
config.vm.define "vb2" do |vb2|
vb2.vm.hostname = "vb2"
vb2.vm.network "private_network", ip: "10.20.30.102"
end
end
는 당신이 밖으로 찾을 수 있습니까 도움 참조? –