Como configurar o firewall no OpenSuse (Leap) para configurar o redirecionamento NAT?

0

Eu preciso configurar uma regra de configuração de firewall para que as solicitações enviadas para uma porta específica para um endereço de destino específico sejam redirecionadas (de forma transparente para o aplicativo de conexão) para uma porta específica na mesma máquina. Eu conheço o comando iptables para isso e já o configurei para trabalhar com o FirewallD em outros sistemas.

O problema é que desta vez eu preciso configurá-lo no OpenSuse (Leap). Eu sou capaz de executar o meu comando iptables e verifiquei que o comando funciona. O problema, claro, é que a configuração não é persistente e é perdida na reinicialização.

Eu aprendi que o OpenSuse usa algo chamado SuseFirewall2 e que ele permite configurar regras personalizadas de iptables adicionando-as ao arquivo /etc/sysconfig/scripts/SuSEfirewall2-custom dentro de algumas funções. Eu tentei isso e não parece ter nenhum efeito. Também assegurei que a configuração FW_CUSTOMRULES em /etc/sysconfig/SuSEfirewall2 e /sbin/SuSEfirewall2 está definida como /etc/sysconfig/scripts/SuSEfirewall2-custom .

Não encontrei muita informação útil na Web e não sei como resolver este problema. Existe algo óbvio que estou perdendo? Todas as sugestões sobre o que devo tentar são bem-vindas também.

Idealmente eu gostaria de resolver isso dentro do SuseFirewall2 setup e não descartá-lo completamente e substituir por scripts iptables puros.

    
por SBhojani 26.03.2018 / 16:31

1 resposta

2

UPDATE

Eu perdi esse detalhe crítico - você deseja redirecionar para a mesma máquina . O SuSEFirewall2 realmente não suporta isso .

Assim, você cria uma interface com alias e redireciona da sua interface real para o alias; ou você coloca as regras iptables existentes no script apropriado.

Isso pode ser /etc/sysconfig/network/scripts/firewall na seção "net-reconfig-done":

           net-reconfig-done)
                    [ "$FIREWALL" = 'yes' ] || exit 2
                    sfw2_active || exit 3
                    /sbin/SuSEfirewall2 --bootunlock start

                    /usr/sbin/iptables ...YOUR_RULES...

mas você corre o risco de ser substituído na próxima atualização. Ou você prepara um script de inicialização executável personalizado no init.d (você pode copiar de um dos existentes), supondo que você esteja no nível de execução 5

# runlevel
5

então você vai usar o rc5.d e criar o script em

/etc/init.d/rc5.d/S55Redirector

A parte principal do script seria:

case "$1" in
    start)
        echo -n "Applying redirect rules"
        /usr/sbin/iptables ...YOUR_RULES...
        /usr/sbin/iptables ...YOUR_RULES...
        /usr/sbin/iptables ...YOUR_RULES...
        rc_status -v
        ;;

RESPOSTA ANTIGA

A maneira mais rápida de ter certeza de que isso está funcionando é configurada em yast .

Do shell de raiz:

yast

no menu à esquerda, escolha "Segurança"; do da direita, "Firewall".

Nos"serviços permitidos", adicione os serviços de que você precisa para aceitá-los.

DependendodaversãoexatadoSuSE,desçapara"Masquerading". Lá você deve ser capaz de especificar o host de destino e a porta de destino.

Por sorte, minha única máquina LEAP minha única outra máquina LEAP está em casa, atualmente em baixo, e a outra não é um firewall, então não posso verificar ou fornecer uma terceira captura de tela.

Eu suspeito que você tenha acertado as regras personalizadas, mas esqueceu de permitir os pacotes de entrada no arquivo de configuração (ele deve ir em /etc/sysconfig/SuSEfirewall2.d/services ). Se isso não funcionar, você pode voltar para mim ([email protected]) depois da quinta-feira, quando eu voltar para casa.

    
por 01.04.2018 / 19:51