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.