あるインターフェイスから別のインターフェイスにIPv4トラフィックをルーティングする方法

あるインターフェイスから別のインターフェイスにIPv4トラフィックをルーティングする方法

私はEthernetリンクを介してPiを自宅のコンピュータに接続します。私のコンピュータはワイヤレス接続を介してインターネットに接続されています。私のPiのすべてのインターネットトラフィックを私のコンピュータを介してルーティングしたいと思います。

イーサネットリンクに/ 30サブネットを設定し、2つのサブネットにパスを追加して互いにpingすることができました。

これが私の設定です。

マイコンピュータ:

# IP addresses
eth0 192.168.1.1/30
wlan0 192.168.0.13/24


# IP routes
default via 192.168.0.254 dev wlan0  proto static  metric 600 
169.254.0.0/16 dev wlan0  scope link  metric 1000 
192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.13  metric 600 
192.168.1.0/30 dev eth0  scope link 

私のパイ:

# IP address
eth0 192.168.1.2/30

# IP routes
default via 192.168.1.1 dev eth0
default via 192.168.1.1 dev eth0  proto static  metric 1024 
169.254.0.0/16 dev wlan0  scope link  metric 1000 
192.168.1.0/30 dev eth0  scope link 

マイコンピュータからすべてのトラフィックをeth0からwlan0にルーティングするには、いくつかのルートのみを追加する必要がありますか?それともNATを使用する必要がありますかiptables

編集する:

Henrikの回答の後、迷彩を検索したところ、次のことがわかりました。このチュートリアル

/proc/netこの記事では、彼はディレクトリから2.2xカーネルを見つけ、偽のカーネルサポートが有効になっていることを確認するように言います。
私の4.2.xカーネルでは、彼が言及したファイルを見つけることができませんでしたが*masquerade*.ko。これは私のカーネルでマスカレーディングがサポートされているという意味ですか?
そうでない場合は、カーネルを再コンパイルせずにそれを設定する方法はありますか?

チュートリアルが終わると、彼は迷彩のためのいくつかのファイアウォールルールを提供します。
最初のものは次のとおりです。

/sbin/ipchains -A input -j ACCEPT -i eth1 -s 0/0 67 -d 0/0 68 -p udp  

これは、DHCP要求が「隠し」コンピュータを通過するようにするためです。ところで、PIでIPを手動で修正して必要なくなりましたね。

したがって、2つのルールがあります。

/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -s 10.1.199.0/24 -j MASQ

なぜ1つありますかDENY
私のサブネットの場合

/sbin/ipchains -A forward -s 192.168.1.0/30 -j MASQ

正しいですか?

編集2:
もっと新しいものが見つかりました地図時間ヘンリークが提供したように。私が追加したファイル
から:/etc/rc.local

iptables -t nat -A POSTROUTING -s 192.168.1.0/30 -o wlan0 -j MASQUERADE

今、変装は動作しているようですが、完全には動作しません。
実際には、IPアドレス(8.8.8.8)を使用してgoogle.comにpingしようとするとうまく機能しますが、URLを使用しようとすると機能しません。

DNSの問題が原因だと思い、/etc/resolv.confファイルにDNS IPを追加しました。しかし、それは何も変えません。
そのため、FirefoxのIPアドレスを使用してDuckDuckgoにアクセスしようとしましたが、成功しませんでした。

ICMPトラフィックのみが転送されるようです。私はWiresharkを使って何が来て、何がeht0生き残るかを確認しましたwlan0

答え1

転送をオンにして(おそらくデフォルトではオンになっている)マスカレーディングを設定する必要があります(特殊タイプのNATの素晴らしい単語ですが、検索する内容を知るのに役立ちます)。

関連情報