【サーバー】自宅サーバーをルーター化する方法

📖 この記事は約 18 分で読めます。
自宅サーバーをルーター化する方法
概要

Ubuntuなどのサーバー用PCをルーター化する方法を、WAN側とLAN側の違いやNATの仕組みから、Ubuntu公式ドキュメントなどで確認した設定の流れ(2026年10月時点)まで、順を追って紹介します。

管理人

本記事の読者層は以下の方を想定しています。

本記事の読者層
  • ノートパソコンなどの小型パソコンをルーター化したい方
  • Ubuntu(Linux)でルーター化するときの、必要なソフトと設定の流れを知りたい方
  • WAN側・LAN側の違いやNATなど、ルーターの仕組みを基礎から知りたい方
目次

Ubuntuをルーター化する流れ(全体像)

Ubuntuなどのサーバー用PCをルーター化するには、NICを2枚用意してWAN側とLAN側に分け、IP転送・NAT・DHCP(必要ならDNSも)を設定します。大まかな流れと使うソフトは次のとおりです(Ubuntu公式ドキュメントなどで確認、2026年10月時点)。

手順やること使うもの
1NICを2枚用意し、WAN側とLAN側に分けるNIC(ネットワークインターフェース)2枚
2LAN側に固定のプライベートIPアドレスを設定するnetplan
3IP転送(パケット転送)を有効にするsysctl(net.ipv4.ip_forward)
4NAT(IPマスカレード)を設定するiptables、またはufw
5LAN側のPCにIPアドレスを自動で割り振る(必要ならDNSも提供する)dnsmasq(またはKea)
6必要に応じて、Wi-Fiアクセスポイントやダイヤルアップ接続を用意するhostapd、ppp

各手順の詳細は、後半の「ハード側の設定」「ソフトウェア側の設定」で説明します。

ルーターとは?

ルーターとは、ネットワーク内の複数台のパソコンをインターネットに接続することができる機械です。ネットワークの信号を分岐したりする「ハブ」とは違い、WAN側(インターネット側)のポートからLAN側(イントラネット側)ポートへの情報とその逆の信号を交通整理する機械です。このため、2つのポート、すなわち、LANポートとWANポートが必要です。

LAN側には、プライベートIPアドレスを割り振るためのDHCPサーバーの機能があり、WAN側にはプロバイダーと契約しているPPPoE方式やIPoE方式などのデータ通信ができるようになっています。

次の章ではこのあたりを少し丁寧に紹介します。

WANとLANの違い

LANとはローカルエリアネットワークのことです。一方、WANとは遠く離れた場所と繋ぐネットワークのことです。WAN側の情報をルーターを通してLAN側へ送り、LAN側の情報をルーターの外へ送る際に、このLANとWANの違いと特徴を知っておかなければなりません。これらの特徴を以下にまとめます。

LAN
  • 家庭・オフィスなど、単一または近隣の建物内にある私的なネットワーク
  • パソコンをはじめとする様々な機器を接続する
  • 導入したユーザー自身が管理・運営する
  • 現在の配線は、ほぼすべてがスター型
WAN
  • 国や大陸など、広大な地域に広がるネットワーク
  • 狭い意味では、点在するLANどうしを結ぶネットワーク
  • 利用にはISP(プロバイダー)との契約が必要
  • ルーターの、ISP(インターネット)側をWAN側と呼ぶ

出典:Local Area Network(Wikipedia)、Wide Area Network(Wikipedia)(2026年10月確認)

グローバルIPアドレスとプライベートIPアドレス

WAN内で割り振られるIPアドレスはグローバルIPアドレスと呼んでいます。一方、LAN内で割り振られるIPアドレスはプライベートIPアドレスです。グローバルIPアドレスは、インターネット上で一意である必要があるのに対して、プライベートIPアドレスはローカルネットワーク内のデバイスに割り当てられており、インターネット上で一意である必要がありません。このため、プライベートIPアドレスをインターネット上で利用するためには、ネットワークアドレス変換(NAT)が必要となります。

サーバーをルーター化するための方法?

市販で購入できる小型ルーター機には、様々な機能が備わっています。

例えば、一般的なルーターの機能一覧として下記のようなものがあります。

ポイント

一般的なルーターの機能一覧

  • 無線機能
  • フィルタリング機能
  • ルーティング機能
  • モデム機能
  • IPマスカレード機能
  • ポートマッピング機能
  • DHCPサーバー機能
  • アクセスログ機能
  • VPN機能

サーバー機を無料でルーター化するフリーソフト

  1. pfSense:オープンソースのファイアウォールおよびルータープラットフォームで、高度な機能やセキュリティ機能を提供します。
  2. OPNsense:pfSenseから派生したオープンソースのファイアウォールおよびルータープラットフォームで、高度な機能やセキュリティ機能を提供します。
  3. RouterOS:MikroTikによって開発された、高度なルーティング機能とセキュリティ機能を備えたルーターOSです。
  4. DD-WRT:多くのルーターモデルで使用できる、オープンソースのルーターOSで、高度な機能を提供します。

なお、pfSenseとOPNsenseはFreeBSDをベースにしたソフトです(pfSense公式ドキュメント、OPNsense公式ドキュメントで確認)。Ubuntu(Linux)上で設定する、本記事後半の手順とは別系統のソフトです。

Linux Ubuntuをルーター化するためのオープンソフト

これらの機能を一通り使えるようにしてくれるオープンソースソフトがあります。

  • 1. iptables:パケットフィルタリング型のファイアウォール機能
  • 2. dnsmasq:小規模な内部ネットワーク向けのDNSキャッシュサーバとDHCPサーバを兼ねたソフトウェア。
  • 3. hostapd:特定のネットワークインターフェイスをアクセスポイント&認証サーバーにする。
  • 4. ppp:電話回線を通して、インターネット接続をできるようにするサーバ
  • 5.isc-dhcp-server:DHCPサーバーのインストール(現在は非推奨。後述の「DHCPサーバーの構築」を参照)

Ubuntuでインストールする場合は以下のコマンドでそれぞれソフトウェアをインストールします。

sudo apt-get install dnsmasq
sudo apt-get install iptables
sudo apt-get install hostapd
sudo apt-get install ppp
sudo apt install isc-dhcp-server

ハード側の設定

1.NICを二枚用意する

サーバーに2つのネットワークインターフェースを追加します。このために、Linuxマシンを用意し、二枚のNICを挿します。片方は、WAN(ワイドエリアネットワーク)側で、もう片方のNICはLAN(ローカルエリアネットワーク)側となるようにインターフェイスを分けます。

ソフトウェア側の設定

LAN側の設定

サーバー上のLAN側には、ルーティングソフトウェアをインストールします。ルーティングテーブルとIPマスカレードの設定を行います。この設定で、WANインターフェースとLANインターフェイスを接続して、サーバーがルーターとして機能するように設定します。

LAN側に固定IPアドレスを設定する

LAN側のインターフェースには、プライベートIPアドレスを固定で設定します。Ubuntuでは、netplanのYAMLファイル(/etc/netplan/にあります)に、次のように書きます。netplan公式の静的IPアドレスの例をもとにした書き方で、インターフェース名とアドレスは、ご自身の環境に合わせて置き換えてください。

network:
  version: 2
  ethernets:
    enp3s0:
      addresses:
        - 192.168.10.1/24

この例では、LAN側にデフォルトゲートウェイ(routes)は指定していません。書き換えたら、sudo netplan applyで現在の設定に反映します。

出典:netplan 公式ドキュメント(設定例)、netplan apply

IP転送を有効にする

Linuxカーネルのnet.ipv4.ip_forwardは、インターフェース間でパケットを転送するかどうかを決める設定で、既定値は0(無効)、1にすると有効になります。ルーターとして使うには、これを1にする必要があります。再起動後も有効にするには、/etc/sysctl.d/に、拡張子が.confのファイル(例:99-router.conf)を作り、次の1行を書きます。このファイルは起動時に読み込まれます。

net.ipv4.ip_forward=1

ufwを使う場合は、後述のとおり、ufwの設定ファイルでIP転送を有効にします。

出典:Linuxカーネルのドキュメント(ip-sysctl)、sysctl.d(Ubuntu manpages)

IPマスカレードの設定

グローバルIPアドレス1つで、イントラネット内の複数マシンが同時にインターネットを利用できるようになります。これよりIPアドレス資源を有効に使用できます。

iptablesコマンドを利用

iptablesとは、ポリシー チェーンを使用してWANとLANのトラフィックを許可またはブロックするファイアウォール ユーティリティです。Linuxカーネルのパケットフィルタリング機能(netfilter)を操作するためのユーティリティで、NAT機能もサポートしています(Ubuntu Server documentationで確認)。コマンドラインベースのため高度な設定が可能です。

インストールは以下の手順でできます。

sudo apt-get install iptables

iptablesでは、サーバーへ接続される通信ルールを設定できます。ローカルネットワークからは、インターネットに接続することができない場合、ローカルネットワークから、WAN側にでられるように許可するためiptablesを構成します。またIPのフィルタリングを掛けたいといったことができるようになります。

NAT(IPマスカレード)のルールを追加する

WAN側のインターフェースから出ていくパケットの送信元アドレスを書き換えるNAT(IPマスカレード)は、iptablesのnatテーブルのPOSTROUTINGチェーンで、MASQUERADEを指定して設定します(iptablesのマニュアルで確認)。次は、WAN側のインターフェースがenp1s0の場合の例です。

sudo iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE

FORWARDチェーンの既定ポリシーによっては、LAN側からWAN側への転送を許可するルールも必要です。なお、ここで追加したルールを再起動後も使い続ける方法は、本記事では扱っていません。設定ファイルで管理したい場合は、次のufwを使う方法が、Ubuntu公式ドキュメントで案内されています。

出典:iptables-extensions(MASQUERADE)

ufwでIPマスカレードを設定する

Ubuntu公式ドキュメントでは、ufwでIPマスカレードを使う場合、次の3か所を設定します。LAN側のネットワークとWAN側のインターフェース名は、ご自身の環境に合わせて置き換えてください。

  1. /etc/default/ufwで、DEFAULT_FORWARD_POLICY="ACCEPT"にします。
  2. /etc/ufw/sysctl.confで、net/ipv4/ip_forward=1のコメントを外します。
  3. /etc/ufw/before.rulesの、ヘッダーコメントの直後に、次のnatテーブルのルールを追加します。
# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.10.0/24 -o enp1s0 -j MASQUERADE
COMMIT

最後に、sudo ufw disable && sudo ufw enableで再起動して反映します。SSHで接続している場合は、ufwを有効にする前に、sudo ufw allow 22などでSSHを許可しておきます。

出典:Firewall(Ubuntu Server documentation)

SSHでリモート接続している場合は注意
外部からサーバーへSSHでリモート接続している場合にはコマンドを間違えると、サーバー機に直にタイプするまで、外部からアクセスできなくなる恐れがあります。

DNSサーバーの構築

dnsmasqコマンドを利用

dnsmasqは、軽量で高速なDNS(Domain Name System)とDHCP(Dynamic Host Configuration Protocol)サービスを提供できるようになります。LinuxやUNIX系オペレーティングシステムに広く利用されています。

dnsmasqは、標準のLinuxディストリビューションであるUbuntuやDebianなどの多くのLinuxディストリビューションに含まれており、簡単にインストールすることができます。

インストールは以下の手順でできます。

sudo apt-get install dnsmasq

dnsmasqは、小規模なネットワークに最適であり、特に自宅やオフィス内のネットワークに適しています。dnsmasqは、ローカルホスト上の設定ファイルから、クエリに対する応答、DHCPアドレス割り当て、DHCPオプションの配布など、さまざまな機能を提供します。

dnsmasqでLAN側にDHCPを設定する

dnsmasqは、1つのソフトでDNSとDHCPの両方を提供できます。LAN側にDHCPを提供するには、dnsmasqの設定ファイルに、待ち受けるインターフェースと、割り当てるIPアドレスの範囲(開始アドレス、終了アドレス、リース時間)を指定します(dnsmasqのマニュアルで確認)。

interface=enp3s0
dhcp-range=192.168.10.50,192.168.10.150,12h

この例では、LAN側のenp3s0で、192.168.10.50から192.168.10.150までのアドレスを、12時間のリース時間で割り当てます。設定を変えたら、dnsmasqを再起動します。

出典:dnsmasq マニュアル

電話通信PPP

PPP は、電話回線、モデム、さらにはイーサネット接続などのシリアル インターフェイスを介したネットワークデータの送信を可能にする標準プロトコルです。サーバー上のWAN側に、以下の手順でpppをインストールします。

sudo apt-get install ppp

近年では電話通信が少なくなりましたが、ダイヤルアップ接続に利用できます。

DHCPサーバーの構築

isc-dhcp-serverコマンドを利用

注意:isc-dhcp-server(ISC DHCP)は、開発元のISCが2022年末にメンテナンスを終了しています(ISC公式で確認)。Ubuntuでも、24.04 LTS以降は「deprecated and unsupported(非推奨でサポート対象外)」とされ、新規の構築にはisc-keaまたはdnsmasqが推奨されています(Ubuntu Server documentationで確認、2026年10月時点)。dnsmasqは、前の「DNSサーバーの構築」のとおり、DHCPも提供できます。24.04のuniverseリポジトリには、isc-dhcp-serverのパッケージ(4.4.3-P1)が残っていますが、以下の手順は、既存環境や学習用の参考として読んでください。

isc-dhcp-serverとは、Internet Systems Consortiumが開発したLinuxやUNIX系オペレーティングシステム用DHCP(Dynamic Host Configuration Protocol)サーバアプリです。isc-dhcp-serverは、DHCPサーバーの役割を担い、クライアントがネットワークに接続されたときに必要なIPアドレスやその他のネットワーク情報を割り当てることができます。

インストールは以下の手順でできます。

sudo apt install isc-dhcp-server

DHCPサーバーの構築では、LAN側のPCに自動的にプライベートIPアドレスが割り振られるようにします。ローカルPCの名前解決は行わなくてもよいでしょう。

最後に、サーバーのLANインターフェースには、ローカルネットワークで利用するIPアドレスを設定します。IPアドレスにはプライベートIPアドレスを利用します。

hostapdを使ったWiFiアクセスポイントの設定

必要に応じて、ポートフォーワードやNATの設定を行い外部から内部へアクセスできるように対応します。hostapdを使ったWiFiアクセスポイントの設定ができます。

インストールは以下の手順でできます。

sudo apt install hostapd

まとめ

本記事のまとめ

本記事では、Ubuntuなどのサーバー用PCをルーター化する手順と、必要なソフトを紹介しました。

  • LAN側に固定IPアドレスを設定し、IP転送とNAT(iptablesまたはufw)を有効にします。
  • DHCPとDNSは、dnsmasqで用意できます。isc-dhcp-serverは非推奨のため、新規ではdnsmasqかKeaを選びます。
  • 必要に応じて、hostapdでWi-Fiアクセスポイントを、pppでダイヤルアップ接続を用意します。

次回の記事もご期待ください。どうぞよろしくお願いいたします。

関連リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (1件)

コメントする

目次