web-dev-qa-db-ja.com

OpenWRTバリアブレーカー-ルーターがルーティングしない

TP-Link 1043ルーターをOpenWrt 14.07にアップグレードしました。すべてが完璧で、WifiとLANがブリッジされています。LANマシンは名前で相互にアクセスでき、ルーターにSSHで接続でき、ルーターはpppoe-wanインターフェースでインターネットにアクセスできます。

ただし、これは小さな問題の1つです。ルーターはルーティングしません。 LANからインターネットにアクセスできません。面白い例外が1つあります。DNSルックアップは機能します。

/etc/config/firewallファイルには、次のセクションが含まれています。

config forwarding
    option src 'lan'
    option dest 'wan'
    option mtu_fix '0'

しかし、iptablesのPOSTROUTINGチェーンをリストすると、何もありません。

# iptables -L POSTROUTING
iptables: No chain/target/match by that name.

# iptables -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target     prot opt source        destination

更新

だから私は手動でマスカレードを追加しようとしました、そしてそれはうまくいくようです:

# iptables -t nat -A POSTROUTING -o pppoe-wan -j MASQUERADE
# iptables -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target     prot opt source        destination
MASQUERADE all  --  anywhere      anywhere

そして、突然、インターネットがLANから機能するようになりました。しかし、なぜ/et/config/firewallのUCI構成に基づいてiptablesルールが追加されないのですか?

アップデート2

修正iptablesルールをWebインターフェイスのカスタムルールに追加しました。次に確認したところ、実際に/etc/firewall.userに含まれている/etc/config/firewallに挿入されています。しかし、再起動後、ルールはiptablesにリストされません。 LANにはインターネットはありません。 UCI構成解析の問題のようです...

アップデート3

ファイアウォールがまったくないことがわかりました。私の/etc/config/firewallは完全に無視されます。フィルタールールの欠如に気づくことは難しいだけです。

3
SzG

マスカレーディングは、出力zoneが構成されている場合にのみOpenWrtによってセットアップされます。

例えば:

config zone
        option name 'wan'
        option masq '1'
        #...everything else

またはWebインターフェースで:

WAN masquerading in OpenWRT GUI

2
Michael Hampton

UCI構成解析が壊れているようです。 /etc/rc.localに行を追加して、問題を一時的に修正しました:

iptables -t nat -A POSTROUTING -o pppoe-wan -j MASQUERADE
0
SzG