web-dev-qa-db-ja.com

DD-WRT:LAN内部から発信されたリクエストにポート転送を適用する方法

ルーターの元のファームウェアで、ポート80からLAN内のサーバーへのポート転送を定義しました。これを外部動的DNSサービスと組み合わせて使用​​しました。

DD-WRTにアップグレードしましたが、残念ながら、ポート転送はoutside LANからの外部IPへのリクエストに対してのみ機能します。 LANの内部からは、内部IPでのみサーバーにアクセスできます。

inside LANからも外部IP(および動的外部IPに接続されているドメイン名)に適切にアクセスするにはどうすればよいですか?

標準のDD-WRT定義でそれを達成する方法を見つけることを好むが、たとえばiptablesは問題外ではありません。

26
UrEl

最近のDD-WRTビルドのバグのようです。

Iptablesを使用します。

iptables -t nat -I POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE

(特定のLANに従ってサブネットを変更します)

から http://hax.at/text/41

25
UrEl

UrElの回答の趣旨:さらに調整することなくコピーして貼り付けるだけの自己構成iptablesスクリプトは DD-WRTフォーラム にあります。

insmod ipt_mark 
insmod xt_mark 
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark 
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE 

ジャレットが述べたように、これはファイアウォールスクリプトとして使用する必要があり、スタートアップスクリプトとして使用する必要はありません。

4
krlmlr

「セキュリティ」->「ファイアウォール」タブで「フィルタWAN NATリダイレクト)」を無効にしてみてください。ヘルプの説明から:

フィルターWAN NATリダイレクションにより、LAN上のホストがWANルーターのアドレスを使用して、LAN上のサーバーに接続するのを防ぎますポートリダイレクションを使用して設定されています)。

1
Tobias Plutat

あなたの本当の問題は、DNS Aレコードの2つのビューが必要なことです。外部的に、動的DNSは、ポート80をローカルホストに転送するネットワークパブリックIPを指します。ローカルホストのローカルホストIPに同じ完全修飾ドメイン名を指すAレコードを持つエントリをdnsmasqに追加するだけです。これを行うには、「サービス」ページ/追加のdnsmasqオプションに以下を追加します。

 address=/www.mydomain.com./xx.xx.xx.xx

xxをローカルIPに、ドメイン名をドメイン名に置き換えてください。末尾のドットを忘れないでください。ドットを付けると、ローカルドメイン名が追加されます。

1
systemconcierge