iptables roteamento

1

Acredito que esta pergunta já foi respondida 100 vezes, mas tenho quase certeza de que estou procurando na direção errada. Minha configuração desejada é a seguinte:

Eu tenho um host virtual usando o KVM e o libvirt. Eu tenho uma rede doméstica simples 192.168.1.0/24, que gostaria de estender por uma rede de servidor. Eu vou usar 192.168.12.0/24 para a nova rede. Mas como haverá alguns servidores ainda em execução na rede normal, adicionei uma rede virtual ao libvirt. Basicamente eu gostaria de rotear entre br0 (que é uma ponte para eth0) e virbr0 (que é a interface de rede virtual) .Eu tentei rotear o tráfego usando o iptables e consegui obter acesso à rede usando esses comandos

iptables -I FORWARD -d 192.168.12.0/24 -s 0.0.0.0/0 -j ACCEPT
iptables -I FORWARD -s 192.168.12.0/24 -d 0.0.0.0/0 -j ACCEPT
iptables -I FORWARD -s 192.168.1.0/24 -d 0.0.0.0/0 -j ACCEPT
iptables -I FORWARD -d 192.168.1.0/24 -s 0.0.0.0/0 -j ACCEPT

Alguém poderia me mostrar a direção certa?

EDIT 1: Obrigado por suas respostas. Eu esqueci completamente as regras do kernel e as apliquei. Agora sou capaz de fazer o ping da máquina na rede 192.168.1.0/24 e vice-versa. Mas infelizmente eu não sou capaz de conectar via ssh a esta máquina, nem é possível pingar qualquer outra coisa, em seguida, 192.168.1.0/24 (e sua rede de origem, é claro). O roteador "core" está configurado corretamente, para rotear qualquer coisa para a rede do servidor, para o hipervisor kvm.

Eu também pensei sobre a bridge como interface roteada e adicionei uma nova interface (eth0: 1) que agora é minha interface "externa", mas isso também não muda nada.

    
por user3070957 16.08.2014 / 21:38

1 resposta

0

iptables é usado para definir uma política de tráfego. A adição de regras de encaminhamento não habilita o encaminhamento. Você deve definir as chaves sysctl, ou seja,

sysctl net.ipv4.conf.br0.forwarding=1
sysctl net.ipv4.conf.virbr0.forwarding=1

de forma equivalente, você também pode emitir

echo 1 > /proc/sys/net/ipv4/conf/br0/forwarding
echo 1 > /proc/sys/net/ipv4/conf/virbr0/forwarding

Você também pode precisar (depende de sua configuração) para adicionar entradas apropriadas na tabela de roteamento.

    
por 16.08.2014 / 23:44