O roteamento estático no Ubuntu Server não funciona

1

Então, estou criando uma rede virtual de computadores usando o Vagrant com o Ubuntu 14.04, com base na topologia mostrada aqui image 1 .

E aqui está o meu Vagrantfile.

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
    config.vm.box = "ubuntu/trusty32"
    config.vm.box_check_update = false
    config.vm.synced_folder '.', '/vagrant', disabled: true

    config.vm.provider "virtualbox" do |vb|
        vb.memory = "256"
    end

    config.vm.define "Router-1" do |r1|
        r1.vm.hostname = 'Router-1'

        r1.vm.network "private_network", ip: "192.168.10.1", netmask: "255.255.255.0", virtualbox__intnet: "c1r1net"
        r1.vm.network "private_network", ip: "192.168.1.1", netmask: "255.255.255.0", virtualbox__intnet: "r1r2net"
        r1.vm.network "private_network", ip: "192.168.2.1", netmask: "255.255.255.0", virtualbox__intnet: "r1r3net"

        r1.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--name", "Router-1"]
        end

        r1.vm.provision "shell", run: "always", inline: <<-SHELL
            sysctl -w net.ipv4.ip_forward=1
            route add -net 192.168.3.0/24 gw 192.168.1.2 dev eth2
            route add -net 192.168.20.0/24 gw 192.168.1.2 dev eth2
        SHELL
    end

    config.vm.define "Router-2" do |r2|
        r2.vm.hostname = 'Router-2'

        r2.vm.network "private_network", ip: "192.168.20.1", netmask: "255.255.255.0", virtualbox__intnet: "c2r2net"
        r2.vm.network "private_network", ip: "192.168.1.2", netmask: "255.255.255.0", virtualbox__intnet: "r1r2net"
        r2.vm.network "private_network", ip: "192.168.3.2", netmask: "255.255.255.0", virtualbox__intnet: "r2r3net"

        r2.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--name", "Router-2"]
        end

        r2.vm.provision "shell", run: "always", inline: <<-SHELL
            sysctl -w net.ipv4.ip_forward=1
            route add -net 192.168.2.0/24 gw 192.168.1.1 dev eth2
            route add -net 192.168.10.0/24 gw 192.168.1.1 dev eth2
        SHELL
    end

    config.vm.define "Router-3" do |r3|
        r3.vm.hostname = 'Router-3'

        r3.vm.network "private_network", ip: "192.168.2.3", netmask: "255.255.255.0", virtualbox__intnet: "r1r3net"
        r3.vm.network "private_network", ip: "192.168.3.3", netmask: "255.255.255.0", virtualbox__intnet: "r2r3net"

        r3.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--name", "Router-3"]
        end

        r3.vm.provision "shell", run: "always", inline: <<-SHELL
            sysctl -w net.ipv4.ip_forward=1
            route add -net 192.168.1.0/24 gw 192.168.2.1 dev eth1
            route add -net 192.168.10.0/24 gw 192.168.2.1 dev eth1
            route add -net 192.168.20.0/24 gw 192.168.3.2 dev eth2
        SHELL
    end

    config.vm.define "Client-1" do |c1|
        c1.vm.hostname = 'Client-1'

        c1.vm.network "private_network", ip: "192.168.10.2", netmask: "255.255.255.0", virtualbox__intnet: "c1r1net"

        c1.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--name", "Client-1"]
        end

        c1.vm.provision "shell", run: "always", inline: <<-SHELL
            route add default gw 192.168.10.1 eth1
        SHELL
    end

    config.vm.define "Client-2" do |c2|
        c2.vm.hostname = 'Client-2'

        c2.vm.network "private_network", ip: "192.168.20.2", netmask: "255.255.255.0", virtualbox__intnet: "c2r2net"

        c2.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--name", "Client-2"]
        end

        c2.vm.provision "shell", run: "always", inline: <<-SHELL
            route add default gw 192.168.20.1 eth1
        SHELL
    end
end

Na maior parte, tudo é bom. O problema acontece quando tento enviar uma mensagem ping de Client-1 para 192.168.3.3 e também de Client-2 para 192.168.2.3 e vice-versa. A mensagem ping não dá uma resposta bem sucedida.

Estou sentindo falta de algo?

    
por Tobey F 26.03.2017 / 12:51

0 respostas