- INTRODUÇÃO:
É um guia completo para ter os acessos "VM < - > Host", "VM1 < - > VM2" e "VM - > Internet" nos convidados usando uma única interface de rede ("host -only ") no VirtualBox.
IMPORTANTE: Execute todos os comandos como "root".
- EXECUTAR EM H O S T :
NOTA: Nós usamos um host Manjaro (baseado em Arch) como modelo. Você pode precisar de ajustes e alterações em outras distros.
Você precisa copiar o arquivo de configuração do modelo iptables ...
cp /etc/iptables/empty.rules /etc/iptables/iptables.rules
... então você pode iniciar o "iptables.service".
Ativar e iniciar "iptables.service" ...
systemctl enable iptables.service
systemctl start iptables.service
Ativar o encaminhamento de IP ...
sysctl -w net.ipv4.ip_forward=1
printf "net.ipv4.ip_forward=1\n" >> /etc/sysctl.d/30-ipforward.conf
Adicione as seguintes regras do iptables. Isso encaminhará pacotes através do host ("vboxnet0") e para a internet ...
MODELO I:
iptables -t filter -I FORWARD --in-interface vboxnet0 --out-interface <HOST_INTERFACE_WITH_INTERNET> --source 192.168.56.0/24 -j ACCEPT
iptables -t filter -I FORWARD --in-interface <HOST_INTERFACE_WITH_INTERNET> --out-interface vboxnet0 --destination 192.168.56.0/24 -j ACCEPT
iptables -t nat -I POSTROUTING -o <HOST_INTERFACE_WITH_INTERNET> -j MASQUERADE
... OU adicione as seguintes regras do iptables ...
MODELO II:
iptables -t nat -I POSTROUTING -s 192.168.56.0/24 -j MASQUERADE
iptables -P FORWARD ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
NOTA: No "TEMPLATE II" você não precisa informar o nome da interface do host ( <HOST_INTERFACE_WITH_INTERNET>
) e o nome da interface do VirtualBox ( vboxnet0
). Dessa forma, qualquer interface de host que tenha internet funcionará, isto é, não preciso ajustar o nome da interface que tem internet sempre que ela for alterada. Um exemplo disso é quando mudamos da interface com fio (por exemplo: enp4s0f2) para a interface sem fio (por exemplo: wlp3s0) e vice-versa.
OUTRA PERGUNTA: Eu apresentei duas maneiras de configurar o "iptables" porque eu não sei se há alguma vantagem em usar o "TEMPLATE I". Algum comentário?
DICA: Para descobrir o nome da interface de rede ( <HOST_INTERFACE_WITH_INTERNET>
) que tem internet, use o comando "ip a".
Salve regras na configuração do iptables e reinicie o serviço ...
iptables-save > /etc/iptables/iptables.rules
systemctl restart iptables.service
Ativar e iniciar o "dnsmasq" no host ...
systemctl enable dnsmasq.service
systemctl start dnsmasq.service
NOTA: "dnsmasq" é um proxy DNS de cache pequeno e um servidor DHCP / TFTP.
- EXECUTAR EM G U E S T :
NOTA: Nós usamos um convidado do CentOS 7 como modelo. Você pode precisar de ajustes e alterações em outras distros.
Configure a interface de rede de acordo com o modelo ...
NOTA: O arquivo de configuração de rede está no caminho da pasta "/ etc / sysconfig / network-scripts /".
BOOTPROTO=static
DEVICE=<NETWORK_INTERFACE_NAME>
DNS1=<HOST-ONLY_HOST_IP>
GATEWAY=<HOST-ONLY_HOST_IP>
IPADDR=<HOST-ONLY_GUEST_IP>
IPV6INIT=NO
NETMASK=255.255.255.0
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
USERCTL=NO
ZONE=
Por exemplo:
BOOTPROTO=static
DEVICE=eno16777736
DNS1=192.168.56.1
GATEWAY=192.168.56.1
IPADDR=192.168.56.101
IPV6INIT=NO
NETMASK=255.255.255.0
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
USERCTL=NO
ZONE=
Reinicie o serviço de rede ...
systemctl restart network.service
Para testar ...
curl http://www.google.com
Isso é tudo pessoal! = D
- REFERÊNCIA:
https://jackal777.wordpress.com/2012/02/13/internet-access-in-virtualbox-host-only-networking/ https://sobrelinux.info/questions/812/in-virtualbox-how-do-i-set-up-host-only-virtual-machines-that-can-access-the-in"https://kyrofa.com/posts/virtualbox-internet-access-with-host-only-network" rel="nofollow noreferrer">https://kyrofa.com/posts/virtualbox-internet-access-with-host-only-network http://archlinux.org.ru/forum/topic/2219/ https://wiki.archlinux.org/index.php/Iptables https://wiki.archlinux.org/index.php/Internet_sharing