Como marcar o tráfego usando IPtables?

2

Estou tentando marcar o tráfego. Como devo escrever o seguinte code em termos de IPtables?

/ip firewall mangle> add chain=prerouting src-address=10.1.1.1/32 action=mark-connection \
new-connection-mark=server_con

/ip firewall mangle> add chain=forward connection-mark=server_con action=mark-packet  \
new-packet-mark=server


/ip firewall mangle> add chain=prerouting src-address=10.1.1.2 
action=mark-connection new-connection-mark=workstation_con
/ip firewall mangle> add chain=prerouting src-address=10.1.1.3 
action=mark-connection new-connection-mark=workstation_con
/ip firewall mangle> add chain=prerouting src-address=10.1.1.4 
action=mark-connection new-connection-mark=workstation_con

/ip firewall mangle> add chain='''forward''' connection-mark=workstation_con  action=mark-packet \
new-packet-mark=workstations

O code acima estava em mikrotik firewall e quero implementá-los em LinuxBox

    
por Adi 09.06.2015 / 23:08

1 resposta

3

Você pode traduzir as regras de firewall do MikroTik para as regras do Linux iptables facilmente. A única diferença real é que a marcação do iptables não é tão bonita, ela gosta de flags de 32 bits em vez de nomes longos, mas "1" é suficiente na maioria das vezes.

De acordo com as páginas man do iptables:

  • add chain=prerouting : -t mangle -A PREROUTING (Acrescenta uma nova regra ao final da cadeia de PREROUTING do mangle)
  • src-address=10.1.1.1/32 : -s 10.1.1.1/32 (Dispara em pacotes com um endereço de origem de 10.1.1.1/32)
  • action=mark-connection new-connection-mark=server_con : -j CONNMARK --set-mark 1 (marca essas conexões como "1")
  • connection-mark=workstation_con action=mark-packet new-packet-mark=workstations : -m connmark --mark 1 -j MARK --set-mark 1 (Marca todos os pacotes associados à conexão "1" com a marca de pacote "1")

Você deve poder usar essas traduções para criar um conjunto de regras para atender às suas necessidades.

    
por 09.06.2015 / 23:51