Regras de Virtulização IPTables

Regras de Virtulização IPTables

Ainda não consegui encontrar uma solução para isso. Não tenho muita experiência em IPTables, então qualquer suporte que você puder fornecer será apreciado.

Eu tenho um servidor com algumas VMs. O nó principal possui um IP remoto e uma sub-rede. Cada VM é criada usando virtualização Linux e uma rede roteada, e recebe um IP local. Em seguida, estou usando tabelas de IP para atribuir a eles um IP remoto, encaminhando todo o tráfego do IP remoto dedicado para o IP local. Isso parece estar funcionando na maior parte, mas parece que qualquer tráfego enviado de cada VM vem do IP primário dos nós, e não do IP remoto que encaminhei para a VM.

Aqui estão minhas regras do IPTables:

iptables -t nat -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -j MASQUERADE

iptables -A FORWARD -d 192.168.123.0/24 -o virbr1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 192.168.123.0/24 -i virbr1 -j ACCEPT iptables -A FORWARD -i virbr1 -o virbr1 -j ACCEPT

E então para cada VM:

iptables -t nat -A PREROUTING -d {Their-remote-IP} -j DNAT --to-destination 192.168.123.3
iptables -A FORWARD -p tcp -d 192.168.123.3 -m state --state NEW,ESTABLISHED,RELATED -j   ACCEPT
iptables -A FORWARD -m udp -p udp -d 192.168.123.3 -j ACCEPT
iptables -A FORWARD -m icmp -p icmp -d 192.168.123.3 -j ACCEPT

Configuração de exemplo

Primary Node IP: X.X.X.172
Additional IP X.X.X.173 1 (NATed to VM 1) to local address 192.168.123.2
Additional IP X.X.X.174 1 (NATed to VM 2) to local address 192.168.123.3
Additional IP X.X.X.175 1 (NATed to VM 3) to local address 192.168.123.4

No entanto, todo o tráfego de saída das VMs sai via XXX172

Qualquer sugestão que você possa fornecer será muito apreciada.

Responder1

É exatamente isso que MASQUERADEacontece: ele substitui o endereço de origem original pelo endereço da interface pela qual o pacote está prestes a sair. Se você quiser manter o endereço original, não use mascaramento.

informação relacionada