7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenWRT導入マニュアル ①基本編

7
Last updated at Posted at 2024-12-03

OpenWRTを導入するにあたっての注意点とか、設定周りを解説したいと思います。初回の投稿から1年以上たち、OpenWRTもバージョンアップされ、自分のスキルも上がってきたので全面刷新しました。

ルーターはとにかく設定が大変で、良くわからずに設定すると、全く通信できなかったり、セキュリティ的にまずい状態のまま放置されたりといった事が起こりがちです。
ということで、OpenWRTをメインルーターにした設定編を解説します。
まずは基本ということで、以下のようなネットワークを構成した場合の設定を解説します。
要件としては
1.IPv6/IPv4 で通信できる。
2.我が家は楽天ひかりを使っているので、PPPoE/DS-Lite両対応にする。
3.LAN側は、LAN/GUEST/IOT 3つのセグメントを持っている。
4.WIFIにもそれぞれLAN/GUEST/IOTのアクセスポイントを用意する。
楽天ひかりですが、ひかり電話無しで契約しています。ひかり電話ありだと、また設定が変わってきます。ひかり電話ありのパターンは実証できていないので解説できません。
3つのセグメントは
LAN:スマホ/PC/チューナーレスTVなど、メインで使うセグメント。
GUEST:訪問客用のゲストAP。
IOT:監視カメラ/ホームセキュリティなどのIT機器用。
ネットワーク図にすると、下記の感じになります。
image.png
プロトコルに関してですが、PPPoEは標準で入りますが、DS-Liteは標準では組み込まれないので、ビルド時のmake menuconfigで以下の項目にチェックします。
Network
ds-liteにチェックをしてビルドします。
{AB4A5352-58B9-47AE-A6FE-DDCFEB3F33F7}.png
Softwareからインストールする場合は以下を選択します。
image.png
ちなみに、OCN系はMAP-Eですが、その場合は以下の項目にチェックをしてビルドしてください。
{7CC4BA54-1F18-4EA2-B1ED-908846D140EF}.png
Softwareからインストールする場合は以下を選択します。
image.png
今回はPBR(Policy Based Routing) を使って、DS-LiteとPPPoEを使い分ける設定をします。
DS-Liteは、速度は出るのですが、プロバイダ側で大規模NATが使われているため、IPv4のグローバルIPはもらえずインターネット側から接続することはできません。一方PPPoEは、速度は出ませんがIPv4のグローバルIPがもらえるので、インターネット側から接続することが可能です。この2つをうまい具合に使い分けるキモがPBR です。
make menuconfigでは以下の項目にチェックをしてビルドします。
Luci - Applications
image.png
Softwareから導入する場合は、以下のプラグインを導入します。
image.png
設定が完了したネットワークの全体はこんな感じです。
実際の環境のスクリーンショットではないので、wan側がエラーになっていますが気にしないでください
image.png
lanの設定は以下を参考に設定します。
image.png
image.png
image.png
image.png
DHCP-Options には、42,192.168.20.1を指定しておきます。この意味はNTPサーバー(192.168.20.1 このルーター自身)を配信するという意味になります。この42は、DHCPオプションコードというもので、ここに一覧がありますので参考にしてください。また、DHCPv4 NTPサーバーの指定はドメイン名では配信できません。必ずIPアドレスを指定してください。DHCPv6ではドメイン名で配信できるので混乱しますが注意して下さい。なお、DHCPオプションコードを配信したからと言ってそれを使うかはクライアント次第です。
image.png
IPv6のDHCPの設定はこんな感じで設定します。特に以下の項目が重要です。
RA-Service : relay mode
DHCPv6-Service : relay mode
NDP-Proxy : relay mode
全部relay modeで設定します。これは WAN6側のRA DHCPv6 NDPをLAN側に中継するという意味です。ISPからPDがない場合は、この設定にしないとGUAのプレフィックスがクライアントに伝わりません。ISPはULAの配布はしないので、ULAは貰えないと思ってください。
一方、ISPからPDがある場合はこの辺りの設定が変わってきますが、これについては実証できないので解説できません。ご了承ください。
image.png
iotの設定は以下を参考に設定します。
image.png
image.png
image.png
image.png
DHCP-Optionsは、6,8.8.8.8,8.8.4.4 42,216.239.35.4を指定します。
これの意味は、DNSはgoogleのパブリックDNS、NTPサーバーはgoogle.time.comを配信するという意味になります。
image.png
iotは、IPv6接続はできないようにしました。この辺は臨機応変に変更してください。
image.png
guestの設定はこんな感じです
image.png
image.png
image.png
image.png
DHCP-Optionsは、6,8.8.8.8,8.8.4.4 42,216.239.35.4を指定します。
image.png
guestでは、IPv6は使用しないこととしています。
image.png
Deviceの設定は以下です
image.png
LAN1,LAN2の口がLANに設定されます
image.png
LAN3の口がGUESTに設定されます
image.png
LAN4の口がIOTに設定されます
image.png
WAN側はこんな設定です。
dsliteの設定はこんな感じです
image.png
image.png
image.png
map-eは当方の環境では確認できないので載せていません。
この辺の設定を詳しく解説されているサイトがあるので、参考にしてください。
pppoeの設定はこんな感じです
username password は各自で設定してください
image.png
ポイントは、gateway metricに20を設定しているところです。こうすることによって、ルーティングの際DS-LiteのWANが優先されます。(数字が小さい方が優先される、DS-Liteは0
image.png
image.png
wan6の設定はこんな感じです
image.png
image.png
image.png
image.png
ポイントは以下の3つの設定です
WANの設定の注意点として wan6,pppoe,dslite はNetworkでは別々ですが、物理的にはWANという1つのポートだということを忘れないでください。
RA-Service : relay-mode
DHCPv6-Service : relay-mode
NDP-Proxy : relay-mode
Designated masterはチェックしておきます
image.png
Firewall設定はこんな感じです
ポイントは、wanのMasqueradingのチェックは外して、wpppoeのチェックを付けることです。こうすることで、WAN側のDS-Liteは2重NATにはならず、PPPoEにはNATが効くようになります。
image.png
Firewall - Traffic Rulesに以下を追加します
追加したNetworkにはルールが設定されていないので、ここで設定します。
image.png
Wirelessの設定はこんな感じです
image.png
ポイントはアクセスポイントに対して、対応したNetworkを設定することです
image.png
image.png
image.png
PPPoEDS-Lite の使い分けですが、192.168.20.1~192.168.20.239 は DS-Lite
192.168.20.241~192.168.20.254 はPPPoEにパケットが流れるように設定します。
そのため、PBR(Policy Based Routing) を使用します。
まずはPBRに対してwpppoeインターフェースを追加します。
image.png
そのあとPoliciesに以下を追加します。
ポイントは、Local addresses / devices に 192.168.20.240/28を設定して、PBRの対象となるIPアドレスを192.168.20.241~192.168.20.254に限定すること、Remote addresses / domain に !192.168.0.0/16 と!マークをつけて、LAN内のパケットを除くように設定します。こうすることで、192.168.20.241~192.168.20.254 までのIPアドレスに対して、PPPoEから接続してきたパケットは、PPPoEの口からパケットが出ていくようになります。そのためサーバーなど、インターネット側で受ける必要がある機器のIPアドレスは、192.168.20.241以降のIPアドレスに設定しておきます。
image.png
全体的な設定はこんな感じです。
image.png
続いてNTPの設定です。NTPは、ネットワーク機器の時刻を同期してくれるプロトコルです。外部のサーバーにアクセスしてもいいですが、OpenWRTにはNTPサーバーとクライアントの両方が備わっています。まずは、外部にアクセスして自身のルーターの時刻を合わせ、問い合わせが来たときには自身の時刻を通知します。
ポイントはProvide NTP serverにチェックを付けると、ルーターがNTPサーバーになります。
{5B6F00AA-E4AE-4E3C-98F7-1AF1064AE68D}.png
Windowsでは、以下の設定をしておくとルーターに対して時刻同期をするようになります。
{D1403ED1-29A9-411A-B15F-F5629B1945B9}.png
これで一通りの設定は終わりました。
次回は、Dynamic-DNSを利用して、インターネットからLANにアクセスする方法を紹介します。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?