Bridge Virtual

1. Bridge Virtual

Marina Motta da Costa Silva
marinamotta

(usa Ubuntu)

Enviado em 19/05/2013 - 22:33h

Olá pessoal,
é o seguinte, eu realmente não sei nada de linux. Preciso fazer um programa em que 3 máquinas comuniquem-se.
Estou utilizando o Ubuntu Server 10.04.4 no virtual box.
O meu professor passou uma parte do programa, mas segundo ele contém erros e nós precisamos nos virar para fazer isso funcionar.
Ficaria muito agradecida se alguém pudesse me ajudar, me explicar um pouco como tudo isso funciona.

Segue o que o professor passou:

Programa para estabelecer bridge virtual
#cd /etc/init.d
# vi bridge (criando arquivo)
#! /bin/sh
#carregando bibliotecas ou modulos – linha de comentário
modprobe ip_nat_ftp
modprobe ip_vs_ftp
#declarando variáveis
externa_if = eth0
interna_if = eth1
professor = “173.16.1.66 “
aluno1= “10.10.20.30”
#fim variaveis
#criando tabelas de endereçamento
iptables – F
iptables – F – t nat
iptables – X
iptables – X – t nat
iptables –A INPUT –p tcp –s $professor –j ACCEPT
iptables –A PREROUTING – p tcp –dport 22 -j DNAT --to – destination 10.10.20.30:22
iptables –A FORWARD –i EXTERNA_IF –o INTERNA_IF -p tcp –dport 22 –m state –state NEW, ESTABLISHED RELATED –j ACCEPT




  


2. Re: Bridge Virtual

Buckminster
Buckminster

(usa Debian)

Enviado em 20/05/2013 - 08:33h

marinamotta escreveu:

Olá pessoal,
é o seguinte, eu realmente não sei nada de linux. Preciso fazer um programa em que 3 máquinas comuniquem-se.
Estou utilizando o Ubuntu Server 10.04.4 no virtual box.
O meu professor passou uma parte do programa, mas segundo ele contém erros e nós precisamos nos virar para fazer isso funcionar.
Ficaria muito agradecida se alguém pudesse me ajudar, me explicar um pouco como tudo isso funciona.

Segue o que o professor passou:

Programa para estabelecer bridge virtual
#cd /etc/init.d
# vi bridge (criando arquivo)
#! /bin/sh
#carregando bibliotecas ou modulos – linha de comentário
modprobe ip_nat_ftp
modprobe ip_vs_ftp
#declarando variáveis
externa_if = eth0
interna_if = eth1
professor = “173.16.1.66 “
aluno1= “10.10.20.30”
#fim variaveis
#criando tabelas de endereçamento
iptables – F
iptables – F – t nat
iptables – X
iptables – X – t nat
iptables –A INPUT –p tcp –s $professor –j ACCEPT
iptables –A PREROUTING – p tcp –dport 22 -j DNAT --to – destination 10.10.20.30:22
iptables –A FORWARD –i EXTERNA_IF –o INTERNA_IF -p tcp –dport 22 –m state –state NEW, ESTABLISHED RELATED –j ACCEPT



Bom, vou te explicar o que cada regra significa, o resto é com você.

#cd /etc/init.d << entrando no diretório /etc/init.d
# vi bridge (criando arquivo)
#!/bin/sh
#carregando bibliotecas ou modulos – linha de comentário
modprobe ip_nat_ftp << carregando o módulo
modprobe ip_vs_ftp
#declarando variáveis
externa_if = eth0 << declarou a placa de rede eth0 para a variável externa_if
interna_if = eth1
professor = “173.16.1.66“ << declarou a variável professor para o IP 173.16.1.66
aluno1= “10.10.20.30”
#fim variaveis
#criando tabelas de endereçamento
iptables – F << limpando as tabelas no IPtables (Flush)
iptables – F – t nat << limpando a tabela nat
iptables – X << deletando as tabelas
iptables – X – t nat << deletando a tabela nat
iptables –A INPUT –p tcp –s $professor –j ACCEPT << iptables adicione (-A) na chain INPUT no protocolo (-p) tcp no IP $professor (173.16.1.66) tudo que vier para a máquina onde está o servidor, aceite (ACCEPT);
iptables –A PREROUTING – p tcp –dport 22 -j DNAT --to–destination 10.10.20.30:22 << iptables adicione na chain PREROUTING (antes do roteamento) no protocolo (-p) tcp na porta (--dport) 22 com o alvo DNAT com destino ao IP 10.10.20.30, aqui faltou ACCEPT ou DROP e está errado 10.10.20.30:22.
iptables –A FORWARD –i EXTERNA_IF –o INTERNA_IF -p tcp –dport 22 –m state –state NEW, ESTABLISHED RELATED –j ACCEPT << iptables adicione na chain FORWARD (deixe passar) tudo que entrar na placa de rede externa_if (está errado, deve ser em minúsculas) e não pode ter -i e -o na mesma regra com a mesma placa de rede.

Esse teu professor não sabe de nada.
Isso aí não cria uma bridge para três maquinas.


3. Re: Bridge Virtual

Josue de Jesus Santos
JJSantos

(usa Gentoo)

Enviado em 20/05/2013 - 11:00h

Buckminster escreveu:
Esse teu professor não sabe de nada.
Isso aí não cria uma bridge para três maquinas.


A melhor parte.


4. Re: Bridge Virtual

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 20/05/2013 - 14:17h

marinamotta escreveu:

Olá pessoal,
é o seguinte, eu realmente não sei nada de linux. Preciso fazer um programa em que 3 máquinas comuniquem-se.
Estou utilizando o Ubuntu Server 10.04.4 no virtual box.
O meu professor passou uma parte do programa, mas segundo ele contém erros e nós precisamos nos virar para fazer isso funcionar.
Ficaria muito agradecida se alguém pudesse me ajudar, me explicar um pouco como tudo isso funciona.

Segue o que o professor passou:

Programa para estabelecer bridge virtual
#cd /etc/init.d
# vi bridge (criando arquivo)
#! /bin/sh
#carregando bibliotecas ou modulos – linha de comentário
modprobe ip_nat_ftp
modprobe ip_vs_ftp
#declarando variáveis
externa_if = eth0
interna_if = eth1
professor = “173.16.1.66 “
aluno1= “10.10.20.30”
#fim variaveis
#criando tabelas de endereçamento
iptables – F
iptables – F – t nat
iptables – X
iptables – X – t nat
iptables –A INPUT –p tcp –s $professor –j ACCEPT
iptables –A PREROUTING – p tcp –dport 22 -j DNAT --to – destination 10.10.20.30:22
iptables –A FORWARD –i EXTERNA_IF –o INTERNA_IF -p tcp –dport 22 –m state –state NEW, ESTABLISHED RELATED –j ACCEPT



@marinamotta
Vou explicar a configuração necessária na VM do VirtualBox para que possa fazer o que pretende.
No VirtualBox na configuração de rede da VM criada deve ter 2 adaptadores:
No adaptador1 deixe como NAT
No adaptador2 deixe como bridge

PS: adaptador1 será eth0 (ip da faixa modem recebido via dhcp do modem) e adaptador2 será eth1 (ip que vc irá definir na sua rede).

Configura um endereço IP para interface eth1 (adaptador2 bridge do VirtualBox).
Em: /etc/network/interfaces

allow-hotplug eth0
iface eth0 inet dhcp
iface eth1 inet static
address 192.168.1.200
netmask 255.255.255.0


Executa o script básico que apenas faz compartilhamento de conexão.
compartilha_internet.sh

LAN="192.168.1.0/24"
ifaceExt="eth0"
ifaceInt="eth1"
#roteamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
#compartilhamento de conexão
iptables -t nat -A POSTROUTING -s $LAN -o $ifaceExt -j MASQUERADE
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "compartilhamento da rede ativo"


setando permissão do script
chmod +x compartilha_internet.sh
executando o script
#./compartilha_internet.sh

Falta setar o DNS em /etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4


Agora em outra máquina ou outra VM, deve configurar o endereço IP na mesma faixa/classe da eth1 e setar o gateway da rede o IP da eth1 (nesse caso).
Exemplo:
IP: 192.168.1.201
Masc: 255.255.255.0
GW: 192.168.1.200
DNS1: 8.8.8.8
DNS2: 8.8.4.4

Maiores informações e explicações de tudo sobre servidores Linux em http://goo.gl/Cuixk
Feito!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts