ce n'est pas clair ce qui marche/ marche pas ...
tu parle du routeur ou des équipements sur le LAN ?
J'ai testé avec cette configuration pour retirer la règle de SNAT dans le firewall:
qu'appele tu la "règle de SNAT dans le firewall" ?
les packets doivent passer de l'interface "milkywan" à interface "intercoMW" pour atteindre 10.1.0.245
tu n'a pas 3 interfaces. il y en a qu'une. les 2 autres sont des "alias", notion propre a OpenWrt.
la commande "ip a" permet de voir les interfaces. tu verras surement une interface seule a 3 IP différents (ou 2 si l'interface de base n'a pas d'IP définie). on ne peut router d'une interface a elle meme (faire passer les paquets d'une interface a elle meme).
par contre on peut éventuellement changer les ip sources ou destination quand on sort/entre d'une interface.
la table de routage (ip route) affiche l'ip source utilisée suivant la destination.
exemple:
routeur: 192.168.1.1
PC: 192.168.1.2
default via 10.1.0.245 dev tunnel src A.B.C.D
10.1.0.244/30 dev tunnel scope link src 10.1.0.246
192.168.1.0/24 dev lan scope link src 192.168.1.1
la route par défaut sort par 10.1.0.245 mais prend A.B.C.D comme adresse source quand c'est le routeur qui émet le trafic. si le routeur ne fait que router il ne touche pas a l'adresse source. Sans le 'option source A.B.C.D' (= "src A.B.C.D" dans la route par défaut) le routeur utilise son adresse sur l'interface pour sortir donc 10.1.0.246 dans ce cas.
Donc PC sort avec son IP. comme celle-ci est privée il faut faire du masquerade (statefull NAT) pour sortie sur le Net.
Si le masquerade (NAT) n'utilise pas A.B.C.D en sortie c'est qu'il y a un souci de configuration (ou une limitation d'OpenWrt) ?
que donne "iptables -S" et "iptables -L" ?
tu peux tracer le NAT en faisant:
ping -W 1 -c 1 1.1.1.1
cat /proc/net/nf_conntrack | grep 1.1.1.1
puis de même depuis un PC (que le ping bien sur, le cat .. sur le routeur) pour voir la différence.
ca devrait donné une indication d'où ca cloche.