OpenWrtでリダイレクトを設定するには?

OpenWrtでリダイレクトを設定するには?

以下は、uciの設定と作成されるルールです。

uci add firewall redirect
uci set firewall.@redirect[-1].target=DNAT
uci set firewall.@redirect[-1].proto=tcp   
uci set firewall.@redirect[-1].src=wan
uci set firewall.@redirect[-1].src_dport=80
uci set firewall.@redirect[-1].dest=lan
uci set firewall.@redirect[-1].dest_port=80
uci set firewall.@redirect[-1].dest_ip=10.0.0.10
uci commit firewall
<reboot>
iptables -t nat -A zone_wan_prerouting -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.10:80
iptables -t nat -D zone_lan_prerouting -p tcp -s 10.0.0.0/255.0.0.0 -d <external_ip_of_router> -m tcp --dport 80 -j DNAT --to-destination 10.0.0.10:80
iptables -t nat -A zone_lan_prerouting -p tcp -s 10.0.0.0/255.0.0.0 -d <external_ip_of_router> -m tcp --dport 80 -j DNAT --to-destination 10.0.0.10:80
iptables -t nat -D zone_lan_postrouting -p tcp -s 10.0.0.0/255.0.0.0 -d 10.0.0.10 -m tcp --dport 80 -j SNAT --to-source 10.0.0.1
iptables -t nat -A zone_lan_postrouting -p tcp -s 10.0.0.0/255.0.0.0 -d 10.0.0.10 -m tcp --dport 80 -j SNAT --to-source 10.0.0.1

しかし、これはうまくいきません。

(iptablesコマンドを取得するには、configのfw3 -4 print前後に使用します。)ucidiff

リダイレクトは、上記のリストからルール#1と#5を手動で入力した場合にのみ(最初にuci設定を消去して-s 10.0.0.0/255.0.0.0ルール#5を削除した場合にのみ機能し始めました)。

ただし、次のuci構成は有効です。

uci add firewall redirect
uci set firewall.@redirect[-1].target=DNAT
uci set firewall.@redirect[-1].proto=tcp
uci set firewall.@redirect[-1].src=wan
uci set firewall.@redirect[-1].src_dport=5000
uci set firewall.@redirect[-1].dest=lan
uci set firewall.@redirect[-1].dest_port=22
uci set firewall.@redirect[-1].dest_ip=10.0.0.2
uci commit firewall

これをどのように説明しますか?

ベストアンサー1

おすすめ記事