インターネット共有のための sysctl での設定に躓いた

こんにちは。 Raspberry Pi に ArchLinux ARM を入れてみて遊んでいます。
1年くらい前、使わなくなったパソコンを使ってルータもどきを作ったことがありまして、同じものを Raspberry Pi で作ろうとしたところ、躓いたのでメモします。

ArchLinux や他の Linux で再現できるかどうか調べてません。
前回はこんな設定なかったと思うんだけどな。OS のバージョンやカーネルのアップデートによるものなのかは、この場合どこを追えばいいんですかね。

環境など


インターネット共有

目指すはこんな感じで使う。 3GやWiMAXのモバイルルータを有線に変換したい(だけ)。1年前に作ったのも構成はこちらと同じもの。

Internet ← (モバイルルータ) ← wlan0 ← (Raspberry Pi) ← eth0

実装方針

ここに従います。

  1. 静的 IP を割り当て(この場合は eth0 に)
  2. カーネルオプションをいじってパケット転送を有効化
  3. NAT の有効化
でも、これだと正常に動きませんでした。外へのパケット転送ができなかった。

解決へ

このときのカーネルオプションはこう。
# sysctl -a | grep forward
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 0
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.wlan0.forwarding = 0
net.ipv4.conf.wlan0.mc_forwarding = 0
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.mc_forwarding = 0
sysctl: reading key "net.ipv6.conf.all.stable_secret"
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.default.mc_forwarding = 0
sysctl: reading key "net.ipv6.conf.default.stable_secret"
net.ipv6.conf.eth0.forwarding = 0
net.ipv6.conf.eth0.mc_forwarding = 0
sysctl: reading key "net.ipv6.conf.eth0.stable_secret"
net.ipv6.conf.lo.forwarding = 1
net.ipv6.conf.lo.mc_forwarding = 0
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
net.ipv6.conf.wlan0.forwarding = 0
net.ipv6.conf.wlan0.mc_forwarding = 0
sysctl: reading key "net.ipv6.conf.wlan0.stable_secret"

インターフェイスごとにオプションがあるけど net.ipv4.conf.all.forwarding = 1 だから問題ないんだろうなと思ってたらそれ間違いで、実際は all に加えて両方のインターフェイスの forwarding を 1 にする必要があった。

つまり、

net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.wlan0.forwarding = 1

を加える必要がある。

コメント

  1. Customers have 30 days to satisfy the necessities to unlock the welcome bonus. Firstly, you'll need to register and be part of the Topbet website. Once there, enter the required data and open the account. Sign-up 1Xbet bonuses for every bookmaker about their phrases and situations and durations differ. From a bookmaker’s viewpoint, sign-up bonuses look fairly reasonable.

    返信削除

コメントを投稿

このブログの人気の投稿

Twitterのあたらしいアカウント乗っ取りの件