Pular para o conteúdo principal

Configurações do firewall

Use estas informações para definir a configuração do firewall.

Definir firewall padrão

A seção padrão declara configurações globais do firewall que não pertencem a zonas específicas.

Tabela 1. Definir firewall padrão
Sintaxe
  • sudo uci set firewall.@defaults[0].input=<input>
  • sudo uci set firewall.@defaults[0].output=<output>
  • sudo uci set firewall.@defaults[0].forward=<forward>
  • sudo uci set firewall.@defaults[0].syn_flood=<syn_flood>
  • sudo uci set firewall.@defaults[0].drop_invalid=<drop_invalid>
Tabela 2. Parâmetros
NomeTipoObrigatórioPadrãoDescrição

entrada

cadeia de caracteres

não

REJEITAR

Defina a política para a cadeia de entrada da tabela de filtros.

saída

cadeia de caracteres

não

REJEITAR

Defina a política para a cadeia de saída da tabela de filtros.

encaminhar

cadeia de caracteres

não

REJEITAR

Defina a política para a cadeia de encaminhamento da tabela de filtros.

syn_flood

booliano

não

0

Ative a proteção de inundação SYN (obsoleta pela configuração synflood_protect).

drop_invalid

booliano

não

0

Remova os pacotes inválidos (por exemplo, que não correspondem a nenhuma conexão ativa).

Exemplos de comando:

Tabela 3. Exemplos de comando
  • sudo uci set firewall.@defaults[0].input=ACCEPT
  • sudo uci set firewall.@defaults[0].output= ACCEPT
  • sudo uci set firewall.@defaults[0].forward= ACCEPT
  • sudo uci set firewall.@defaults[0].syn_flood=1
  • sudo uci set firewall.@defaults[0].drop_invalid=1
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Adicionar uma nova zona

Esta seção define propriedades comuns de teste. As opções de entrada e saída definem as políticas padrão para o tráfego que entra e sai dessa zona, enquanto a opção de encaminhamento descreve a política para tráfego encaminhado entre diferentes redes na zona. Redes cobertas especificam quais redes disponíveis são membros dessa zona.

Tabela 4. Adicionar uma nova zona
Sintaxe
  • sudo uci add firewall zone
  • sudo uci set firewall.@zone[-1].name=<name>
  • sudo uci set firewall.@zone[-1].input=<input>
  • sudo uci set firewall.@zone[-1].output=<output>
  • sudo uci set firewall.@zone[-1].forward=<forward>
  • sudo uci set firewall.@zone[-1].masq=<masq>
  • sudo uci set firewall.@zone[-1].mtu_fix=<mtu_fix>
  • sudo uci set firewall.@zone[-1].network=<network>
  • sudo uci set firewall.@zone[-1].family=<family>
  • sudo uci set firewall.@zone[-1].masq_src=<masq_src>
  • sudo uci set firewall.@zone[-1].masq_dest=<masq_dest>
  • sudo uci set firewall.@zone[-1].conntrack=<conntrack>
  • sudo uci set firewall.@zone[-1].log=<log>
  • sudo uci set firewall.@zone[-1].log_limit=<log_limit>
  • udo uci commit firewall
Tabela 5. Parâmetros

Parâmetro

Tipo

Obrigatório

Padrão

Descrição

nome

nome da zona

sim

nenhuma

Nome de zona exclusivo. Onze caracteres é o comprimento máximo do nome da zona do firewall em funcionamento.

entrada

cadeia de caracteres

não

REJEITAR

Defina a política para a cadeia de entrada da tabela de filtros.

saída

cadeia de caracteres

não

REJEITAR

Defina a política para a cadeia de saída da tabela de filtros.

encaminhar

cadeia de caracteres

não

REJEITAR

Defina a política para a cadeia de encaminhamento da tabela de filtros.

masq

booliano

não

0

Especifica se o tráfego de zona de saída deve ser mascarado – isso é normalmente ativado na zona wan.

mtu_fix

booliano

não

0

Ative o travamento MSS para o tráfego da zona de saída.

rede

lista

não

nenhuma

Lista de interfaces associadas a essa zona. Se omitido e nenhuma opção extra *, sub-redes ou dispositivos forem fornecidos, o valor do nome será usado por padrão. As interfaces de alias definidas na configuração de rede não podem ser usadas como redes "autônomas" válidas. Use a sintaxe da lista conforme explicado em UCI.

família

cadeia de caracteres

não

0

Família de protocolos (IPv4, IPv6 ou qualquer um) para os quais gerar regras iptables.

masq_src

lista de sub-redes

não

0.0.0.0/0

Limite a representação às sub-redes de origem determinadas. A negação é possível prefixando a sub-rede com !; várias sub-redes são permitidas.

masq_dest

lista de sub-redes

não

0.0.0.0/0

Limite a representação às sub-redes de destino determinadas. A negação é possível prefixando a sub-rede com !; várias sub-redes são permitidas.

conntrack

booliano

não

1 se a representação for usada, 0 se não for usada

Force o controle de conexão para essa zona (consulte a observação sobre controle de conexão).

log

booliano

não

0

Crie regras de log para o tráfego rejeitado e descartado nessa zona.

log_limit

cadeia de caracteres

não

10/minuto

Limita o volume de mensagens de log por intervalo.

Exemplos de comando:

Tabela 6. Exemplos de comando
  • sudo uci add firewall zone
  • sudo uci set firewall.@zone[-1].name=test
  • sudo uci set firewall.@zone[-1].input=ACCEPT
  • sudo uci set firewall.@zone[-1].output= ACCEPT
  • sudo uci set firewall.@zone[-1].forward= ACCEPT
  • sudo uci set firewall.@zone[-1].masq=<masq>
  • sudo uci set firewall.@zone[-1].mtu_fix=<mtu_fix>
  • sudo uci set firewall.@zone[-1].network=<network>
  • sudo uci set firewall.@zone[-1].family=<family>
  • sudo uci set firewall.@zone[-1].masq_src=<masq_src>
  • sudo uci set firewall.@zone[-1].masq_dest=<masq_dest>
  • sudo uci set firewall.@zone[-1].conntrack=<conntrack>
  • sudo uci set firewall.@zone[-1].log=<log>
  • sudo uci set firewall.@zone[-1].log_limit=<log_limit>
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Adicionar um novo encaminhamento

As seções de encaminhamento controlam o fluxo de tráfego entre as zonas e podem ativar o travamento MSS para direções específicas. Apenas uma direção é coberta por uma regra de encaminhamento. Para permitir o fluxo de tráfego bidirecional entre duas zonas, dois encaminhamentos são necessários, com src e dest revertidos em cada um.

Tabela 7. Adicionar um novo encaminhamento
Sintaxe
  • sudo uci set firewall.@zone[-1].src=<src>
  • sudo uci set firewall.@zone[-1].dest=<dest>
  • sudo uci commit firewall
Tabela 8. Parâmetros
ParâmetroTipoObrigatórioPadrãoDescrição

src

nome da zona

sim

nenhuma

Especifica a zona de origem do tráfego. Deve fazer referência a um dos nomes de região definidos.

dest

nome da zona

sim

nenhuma

Especifica a zona de destino do tráfego. Deve fazer referência a um dos nomes de região definidos.

Exemplos de comando:

Tabela 9. Exemplos de comando
  • sudo uci set firewall.@zone[-1].src=test
  • sudo uci set firewall.@zone[-1].dest=lan
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Adicionar um novo encaminhamento de porta

Encaminhamentos de porta (DNAT) são definidos pelas seções de redirecionamento. Todo o tráfego de entrada na zona de origem especificada que corresponde às regras fornecidas será direcionado para o host interno especificado. Os redirecionamentos também são comumente conhecidos como "encaminhamento de porta" e "servidores virtuais". Os intervalos de porta são especificados como start:stop, por exemplo 6666:6670. Isso é semelhante à sintaxe iptables.

Tabela 10. Adicionar um novo encaminhamento de porta
Sintaxe
  • sudo uci add firewall redirect
  • sudo uci set firewall.@redirect[-1].enabled=<enabled>
  • sudo uci set firewall.@redirect[-1].name=<name>
  • sudo uci set firewall.@redirect[-1].proto=<proto>
  • sudo uci set firewall.@redirect[-1].src=<src>
  • sudo uci set firewall.@redirect[-1].src_mac=<src_mac>
  • sudo uci set firewall.@redirect[-1].src_ip=<src_ip>
  • sudo uci set firewall.@redirect[-1].src_port=<src_port>
  • sudo uci set firewall.@redirect[-1].src_dip=<src_dip>
  • sudo uci set firewall.@redirect[-1].src_dport=<src_dport>
  • sudo uci set firewall.@redirect[-1].dest=<dest>
  • sudo uci set firewall.@redirect[-1].dest_ip=<dest_ip>
  • sudo uci set firewall.@redirect[-1].dest_port=<dest_port>
  • sudo uci set firewall.@redirect[-1].reflection=<reflection>
  • sudo uci commit firewall
Tabela 11. Parâmetros
ParâmetroTipoObrigatórioPadrãoDescrição

ativado

cadeia de caracteres

não

1 ou Sim

Habilite a regra de redirecionamento ou não.

nome

cadeia de caracteres

não

nenhuma

Nome de redirecionamento exclusivo.

proto

nome ou número do protocolo

sim

tcp udp

Correlacione o tráfego de entrada usando o protocolo fornecido.

src

nome da zona

não

sim para destino DNAT

Especifica a zona de origem do tráfego. Deve fazer referência a um dos nomes de região definidos. Para encaminhamentos de porta típicos, em geral, é wan.

src_mac

endereço mac

não

nenhuma

Correlacione o tráfego de entrada do endereço mac especificado.

src_ip

endereço IP

não

nenhuma

Correlacione o tráfego de entrada do endereço ip de origem especificado.

src_port

porta ou intervalo

não

nenhuma

Correlacione o tráfego de entrada originário da porta de origem ou do intervalo de portas fornecido (por ex: "5000-5100") no host do cliente.

src_dip

endereço IP

sim para destino SNAT

nenhuma

Para DNAT, correlacione o tráfego de entrada direcionado no endereço IP de destino fornecido. Para SNAT, reescreva o endereço de origem para o endereço fornecido.

src_dport

porta ou intervalo

não

nenhuma

Para DNAT, correlacione o tráfego de entrada direcionado na porta de destino ou no intervalo de portas fornecido (p. ex: "5000-5100") nesse host. Para SNAT, reescreva as portas de origem para o valor fornecido.

dest

nome da zona

sim para destino SNAT

nenhuma

Especifica a zona de destino do tráfego. Deve fazer referência a um dos nomes de região definidos. Para o destino DNAT no ajuste de atitude, a reflexão do NAT funcionará apenas se for igual à lan.

dest_ip

endereço IP

sim para destino DNAT

nenhuma

Para DNAT, redirecione o tráfego de entrada correspondente para o host interno especificado. Para SNAT, correlacione o tráfego direcionado no endereço fornecido. Para DNAT, se o valor de dest_ip corresponder aos endereços IP locais do roteador, conforme mostrado no ifconfig, a regra será traduzida em uma regra "accept" de DNAT + entrada. Caso contrário, será uma regra de encaminhamento DNAT +.

dest_port

porta ou intervalo

não

nenhuma

Para DNAT, redirecione o tráfego de entrada correspondente para a porta fornecida no host interno. Para SNAT, correlacione o tráfego direcionado nas portas fornecidas. Apenas uma única porta ou um intervalo pode ser especificado (por ex: "5000-5100"), não portas diferentes como em Regras (abaixo).

reflexão

booliano

não

1

Ative a reflexão NAT para esse redirecionamento – aplicável a destinos DNAT.

Exemplos de comando:

Tabela 12. Encaminha o tráfego http (não HTTPS) para o servidor Web em execução em 192.168.1.10:
  • sudo uci add firewall redirect
  • sudo uci set firewall.@redirect[-1].enabled=1
  • sudo uci set firewall.@redirect[-1].proto=tcp
  • sudo uci set firewall.@redirect[-1].src=wan
  • sudo uci set firewall.@redirect[-1].src_dport=80
  • sudo uci set firewall.@redirect[-1].dest=lan
  • sudo uci set firewall.@redirect[-1].dest_ip=192.168.1.10
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Adicionar uma nova regra de tráfego

Encaminhamentos de porta (DNAT) são definidos pelas seções de redirecionamento. Todo o tráfego de entrada na zona de origem especificada que corresponde às regras fornecidas será direcionado para o host interno especificado. Os redirecionamentos também são comumente conhecidos como encaminhamento de porta e servidores virtuais. Os intervalos de porta são especificados como start:stop, por exemplo 6666:6670. Isso é semelhante à sintaxe iptables.

Tabela 13. Adicionar uma nova regra de tráfego
Sintaxe
  • sudo uci add firewall rule
  • sudo uci set firewall.@rule[-1].enabled=<enabled>
  • sudo uci set firewall.@rule[-1].name=<name>
  • sudo uci set firewall.@rule[-1].family=<family>
  • sudo uci set firewall.@rule[-1].proto=<proto>
  • sudo uci set firewall.@rule[-1].src=<src>
  • sudo uci set firewall.@rule[-1].src_mac=<src_mac>
  • sudo uci set firewall.@rule[-1].src_ip=<src_ip>
  • sudo uci set firewall.@rule[-1].src_port=<src_port>
  • sudo uci set firewall.@rule[-1].dest=<dest>
  • sudo uci set firewall.@rule[-1].dest_ip=<dest_ip>
  • sudo uci set firewall.@rule[-1].dest_port=<dest_port>
  • sudo uci set firewall.@rule[-1].target=<target>
  • sudo uci set firewall.@rule[-1].weekdays=<weekdays>
  • sudo uci set firewall.@rule[-1].monthdays=<monthdays>
  • sudo uci set firewall.@rule[-1].start_time=<start_time>
  • sudo uci set firewall.@rule[-1].stop_time=<stop_time>
  • sudo uci set firewall.@rule[-1].start_date=<start_date>
  • sudo uci set firewall.@rule[-1].stop_date=<stop_date>
  • sudo uci set firewall.@rule[-1].utc_time=<utc_time>
  • uci commit firewall
Tabela 14. Parâmetros
ParâmetroTipoObrigatórioPadrãoDescrição

ativado

booliano

não

sim

Ative ou desative a regra.

nome

cadeia de caracteres

não

nenhuma

Nome de regra exclusivo.

família

cadeia de caracteres

não

nenhum

Família de protocolos (IPv4, IPv6 ou qualquer um) para os quais gerar regras iptables.

proto

nome ou número do protocolo

não

tcp udp

Correlacione o tráfego de entrada usando o protocolo fornecido. Pode ser um dos protocolos tcp, udp, tcpudp, udplite, icmp, esp, ah, sctp ou all ou pode ser um valor numérico, representando um desses protocolos ou outro. Um nome de protocolo de /etc/protocols também é permitido. O número 0 é equivalente a all.

src

nome da zona

sim (opcional desde o Firewall v2, versão 58 e posterior)

nenhuma

Especifica a zona de origem do tráfego. Deve fazer referência a um dos nomes de região definidos.

src_mac

endereço mac

não

nenhuma

Correlacione o tráfego de entrada do endereço mac especificado.

src_ip

endereço IP

não

nenhuma

Correlacione o tráfego de entrada do endereço ip de origem especificado.

src_port

porta ou intervalo

não

nenhuma

Correlacione o tráfego de entrada da porta de origem ou intervalo de portas especificado (por ex: "5000:5100", o intervalo de portas não se aplica a todos os protocolos), se o protocolo relevante for especificado. Várias portas podem ser especificadas, como "80 443 465" 1.

dest

nome da zona

não

nenhuma

Especifica a zona de destino do tráfego. Deve fazer referência a um dos nomes de zona definidos ou * para qualquer zona. Se especificado, a regra se aplicará ao tráfego encaminhado; caso contrário, ele será tratado como regra de entrada.

dest_ip

endereço IP

não

nenhuma

Correlacione o tráfego de entrada direcionado ao endereço IP de destino especificado. Sem zona de destino, isso é tratado como uma regra de entrada.

dest_port

porta ou intervalo

não

nenhuma

Correlacione o tráfego de entrada direcionado na porta de destino ou no intervalo de portas fornecido (por ex: "5000:5100", o intervalo de portas não se aplica a todos os protocolos), se o protocolo relevante for especificado. Várias portas podem ser especificadas, como "80 443 465" 1.

destino

cadeia de caracteres

sim

DROP

Ative a reflexão NAT para esse redirecionamento – aplicável a destinos DNAT.

dias úteis

lista de dias úteis

não

(sempre)

Se especificado, somente correlacione o tráfego durante os dias de semana determinados, por exemplo, dom, seg, qui e sex a apenas domingos, segundas, quintas e sextas. A lista pode ser invertida prefixando-a com um ponto de exclamação, por exemplo, ! sáb dom para sempre corresponder, exceto em sábados e domingos.

monthdays

lista de datas

não

(sempre)

Se especificado, somente correlacione o tráfego durante os dias do mês determinados, por exemplo, 2 5 30 para corresponder apenas a cada 2º, 5º e 30º dias do mês. A lista pode ser invertida prefixando-a com um ponto de exclamação, por exemplo, ! 31 para ser correspondido sempre, exceto no dia 31 do mês.

start_time

hora (hh:mm:ss)

não

(sempre)

Se especificado, correlacione somente o tráfego após o período de tempo determinado (inclusive).

stop_time

hora (hh:mm:ss)

não

(sempre)

Se especificado, somente correlacione o tráfego antes do período de tempo determinado (inclusive).

start_date

data (aaaa-mm-dd)

não

(sempre)

Se especificado, correlacione somente o tráfego após a data determinada (inclusive).

stop_date

data (aaaa-mm-dd)

não

(sempre)

Se especificado, correlacione somente o tráfego antes da data determinada (inclusive).

utc_time

booliano

não

0

Trate todos os valores de hora especificados como hora UTC em vez de hora local.

Exemplos de comando:

Tabela 15. Bloqueia todas as tentativas de conexão para conectar o endereço do host especificado.
  • sudo uci add firewall rule
  • sudo uci set firewall.@rule[-1].enabled=1
  • sudo uci set firewall.@rule[-1].src=lan
  • sudo uci set firewall.@rule[-1].dest=wan
  • sudo uci set firewall.@rule[-1].dest_ip=123.45.67.89
  • sudo uci set firewall.@rule[-1].target=REJECT
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Adicionar um novo NAT de origem

O NAT de origem altera um pacote de saída para que pareça que o sistema do comutador integrado é a origem do pacote.

Exemplos de comando:
Tabela 16. Defina o NAT de origem para o tráfego UDP e TCP

Defina o NAT de origem para o tráfego UDP e TCP direcionado para a porta 123 originada do host com o endereço IP 10.55.34.85.

O endereço de origem é reescrito para 63.240.161.99:

  • sudo uci add firewall redirect
  • sudo uci set firewall.@redirect[-1].enabled=1
  • sudo uci set firewall.@redirect[-1].src=lan
  • sudo uci set firewall.@redirect[-1].src_ip=10.55.34.85
  • sudo uci set firewall.@redirect[-1].src_dip=63.240.161.99
  • sudo uci set firewall.@redirect[-1].dest=wan
  • sudo uci set firewall.@redirect[-1].dest_port=123
  • sudo uci set firewall.@redirect[-1].target=SNAT
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart