Você tem o OpenVPN como o endpoint no wrt? A regra FORWARD não afetará o tráfego originado no próprio Asus, apenas o tráfego que é enviado em / sobre uma interface diferente na qual o Asus precisa rotear. Este diagrama do Netfilter pode ser útil
Exemplo (na sua estação de trabalho Linux): adicione um logger para a porta 80 saindo da sua interface WAN (pode ser eth0
no seu, eu corro uma br0
bridge para virtualização):
# iptables -I FORWARD -o br0 -p tcp --dport 80 -j LOG --log-prefix="FWD: "
Agora conecte-se a um servidor que usa a porta 80
# wget -q www.google.com -O /tmp/out.htm
Verifique sua cadeia FORWARD :
# iptables -nvL FORWARD
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 LOG tcp -- * br0 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 LOG flags 0 level 4 prefix "FWD: "
Nada .. dmesg
também é silencioso:
# dmesg | grep FWD:
Nada é mostrado .. agora tente a cadeia OUTPUT:
# iptables -I OUTPUT -o br0 -p tcp --dport 80 -j LOG --log-prefix="OUT: "
Depois de repetir o wget, você deve ver agora:
# dmesg | grep OUT
...
[427898.519765] OUT: IN= OUT=br0 SRC=192.168.1.6 DST=72.21.91.29 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=62284 DF PROTO=TCP SPT=58982 DPT=80 WINDOW=242 RES=0x00 ACK URGP=0
Eliminar o TCP de saída agora se torna uma regra simples que pode se parecer com isso. Você também pode deixar de fora o -p tcp
para bloquear qualquer tráfego IP, isso é apenas um exemplo:
# iptables -I OUTPUT -o br0 -p tcp -j REJECT --reject-with icmp-host-prohibited
# wget www.google.com -O /tmp/foo
converted 'http://www.google.com' (ANSI_X3.4-1968) -> 'http://www.google.com' (UTF-8)
--2017-02-14 12:38:00-- http://www.google.com/
Resolving www.google.com (www.google.com)... 216.58.192.132, 2607:f8b0:4009:80c::2004
Connecting to www.google.com (www.google.com)|216.58.192.132|:80... failed: No route to host.
Connecting to www.google.com (www.google.com)|2607:f8b0:4009:80c::2004|:80... failed: Address family not supported by protocol.