<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Enkunkun</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Enkunkun"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Enkunkun"/>
	<updated>2026-05-15T15:24:57Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC&amp;diff=12648</id>
		<title>ルーター</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC&amp;diff=12648"/>
		<updated>2018-03-15T06:11:52Z</updated>

		<summary type="html">&lt;p&gt;Enkunkun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク共有]]&lt;br /&gt;
[[Category:セキュリティ]]&lt;br /&gt;
[[Category:ファイアウォール]]&lt;br /&gt;
[[en:Router]]&lt;br /&gt;
[[zh-hans:Router]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|シンプルなステートフルファイアウォール}}&lt;br /&gt;
{{Related|インターネット共有}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
この記事ではコンピュータをインターネットゲートウェイ/ルーターに仕立てる方法を解説しています。ゲートウェイはインターネットに直接接続されるため、&#039;&#039;セキュリティ&#039;&#039;が重要です。外部からアクセスできるサービスを実行するのは好ましくありません。ゲートウェイとして機能するためのサービスだけを実行し、セキュリティ上の穴を作ってしまうおそれがある httpd, ftpd, samba, nfsd などは動かさないようにします。&lt;br /&gt;
&lt;br /&gt;
クロスオーバーケーブルによる PC 間の接続の共有方法については扱っていません。インターネット共有をする方法は、[[インターネット共有]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
==ハードウェアの要件==&lt;br /&gt;
* 最低でも 1GB のディスク容量が必要です。ベースインストールは大体 500MB くらいですが、ウェブキャッシュプロキシなどを使うことを考えて、キャッシュ用に容量を確保しておく方が良いでしょう。&lt;br /&gt;
* 最低でも2つの物理的なネットワークインターフェイスが必要です: ゲートウェイは2つのネットワークを相互に接続します (実際には VLAN インターフェイスを使用して1つの物理インターフェイスを VLAN 対応のスイッチに接続して router-on-a-stick 構成にすることもできますが、この記事では説明しません)。ネットワークは物理的に同一のコンピュータに接続する必要があります。インターフェイスの片方は外部のネットワークに接続し、もう片方は内部のネットワークに接続します。&lt;br /&gt;
* ハブやスイッチ、UTP ケーブルが必要です: 他のコンピュータをゲートウェイに接続するための機器が必要です。&lt;br /&gt;
&lt;br /&gt;
==ネットワークインターフェイスの名称==&lt;br /&gt;
このガイドでは、混乱を避けるために、わかりやすいインターフェイス名を使用します。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;intern0&#039;&#039;&#039;: LAN に接続されたネットワークカード。実際のコンピュータ上では enp2s0, enp1s1 といった名前が付けられます。&lt;br /&gt;
* &#039;&#039;&#039;extern0&#039;&#039;&#039;: 外部ネットワーク (もしくは WAN) に接続されたネットワークカード。enp2s0, enp1s1 といった名前になります。&lt;br /&gt;
&lt;br /&gt;
==ネットワークインターフェイスの設定==&lt;br /&gt;
&lt;br /&gt;
===永続的な命名とインターフェイス名の変更===&lt;br /&gt;
Systemd は自動的にそれぞれのインターフェイスに一意なインターフェイス名を決めます。決められた名前は永続的で、再起動しても変わることはありません。インターフェイスの名前をユーザーフレンドリーな名前に変更したい場合は、[[ネットワーク設定#デバイス名]]を読んで下さい。&lt;br /&gt;
&lt;br /&gt;
===IP の設定===&lt;br /&gt;
ネットワークインターフェイスを設定する必要があります。一番良い設定方法は [[netctl]] プロファイルを使うことです。2つプロファイルを作成してください。&lt;br /&gt;
{{Note|PPPoE だけを使ってインターネットに接続する場合は、extern0-profile を設定・有効化する必要はありません。PPPoE の設定は下を見てください。}}&lt;br /&gt;
* {{ic|/etc/netctl/extern0-profile}}&lt;br /&gt;
 Description=&#039;Public Interface.&#039;&lt;br /&gt;
 Interface=extern0&lt;br /&gt;
 Connection=ethernet&lt;br /&gt;
 IP=&#039;dhcp&#039;&lt;br /&gt;
&lt;br /&gt;
* {{ic|/etc/netctl/intern0-profile}}&lt;br /&gt;
 Description=&#039;Private Interface&#039;&lt;br /&gt;
 Interface=intern0&lt;br /&gt;
 Connection=ethernet&lt;br /&gt;
 IP=&#039;static&#039;&lt;br /&gt;
 Address=(&#039;10.0.0.1/24&#039;)&lt;br /&gt;
&lt;br /&gt;
{{Note|上記の設定では完全なサブセットを対象としています。一部の人間だけが使えるゲートウェイを構築する場合、CIDR のサフィックスを変更して範囲を狭めることができます。例えば /27 にすると 10.0.0.1 から 10.0.0.30 までが割り当てられます。CIDR の計算機はオンライン上に多数存在します。}}&lt;br /&gt;
&lt;br /&gt;
次に netctl でインターフェイスをセットアップします:&lt;br /&gt;
 # netctl enable extern0-profile&lt;br /&gt;
 # netctl enable intern0-profile&lt;br /&gt;
&lt;br /&gt;
==ADSL 接続/PPPoE==&lt;br /&gt;
rp-pppoe を使って、ファイアウォールの {{ic|extern0}} インターフェイスに ADSL モデムを接続して Arch で接続を管理することができます。モデムは&#039;&#039;ブリッジ&#039;&#039;モードに設定してください (ハーフブリッジまたは RFC1483)、そうしないとモデムもルーターとして機能してしまいます。{{pkg|rp-pppoe}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
PPPoE だけを使ってインターネットに接続する場合 (モデムに接続するポート以外に WAN ポートが存在しない場合)、外部の擬似インターフェイスが ppp0 になるので {{ic|extern0-profile}} をセットアップする必要はありません。&lt;br /&gt;
&lt;br /&gt;
===PPPoE の設定===&lt;br /&gt;
netctl を使って pppoe 接続のセットアップができます。コピーして編集してください:&lt;br /&gt;
 # cp /etc/netctl/examples/pppoe /etc/netctl/&lt;br /&gt;
モデムに接続するインターフェイスを選択してください。PPPoE でインターネットに接続するだけなら {{ic|extern0}} になります。後のフィールドは ISP の情報で埋めてください。フィールドの詳細は netctl.profile の man ページの pppoe セクションを参照。&lt;br /&gt;
&lt;br /&gt;
==DNS と DHCP==&lt;br /&gt;
LAN のための DNS と DHCP デーモンとして [[dnsmasq]] を使います。dnsmasq は小規模なネットワーク用に設計されています。[[公式リポジトリ]]から {{Pkg|dnsmasq}} を[[pacman|インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
DHCP サーバーにするには以下のように Dnsmasq の設定が必要です:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dnsmasq.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
interface=intern0 # make dnsmasq listen for requests only on intern0 (our LAN)&lt;br /&gt;
expand-hosts      # add a domain to simple hostnames in /etc/hosts&lt;br /&gt;
domain=foo.bar    # allow fully qualified domain names for DHCP hosts (needed when&lt;br /&gt;
                  # &amp;quot;expand-hosts&amp;quot; is used)&lt;br /&gt;
dhcp-range=10.0.0.2,10.0.0.255,255.255.255.0,1h # defines a DHCP-range for the LAN: &lt;br /&gt;
                  # from 10.0.0.2 to .255 with a subnet mask of 255.255.255.0 and a&lt;br /&gt;
                  # DHCP lease of 1 hour (change to your own preferences)&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
静的な DHCP リースを追加して、LAN 上のコンピュータの MAC アドレスに対して IP アドレスを割り当てることもできます。その場合、コンピュータが新しいリースを要求すると、常に同一の IP が取得されます。DNS レコードを使用するネットワークサーバーで有用です。特定の MAC アドレスから IP を取得できないように設定することもできます。&lt;br /&gt;
&lt;br /&gt;
設定したら {{ic|dnsmasq.service}} を[[起動]]・[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
==接続の共有==&lt;br /&gt;
&lt;br /&gt;
ネットワークインターフェイスを互いに結びつけます。&lt;br /&gt;
&lt;br /&gt;
===iptables===&lt;br /&gt;
[[シンプルなステートフルファイアウォール]]に [[iptables]] ファイアウォールと NAT の設定方法がまとまっています。&lt;br /&gt;
&lt;br /&gt;
Dnsmasq を使用する場合、DHCP と Domain の例外をファイアウォールに追加してください:&lt;br /&gt;
&lt;br /&gt;
* ルールの追加:&lt;br /&gt;
 # iptables -t filter -I INPUT -i intern0 -p udp -m udp --dport 67 -j ACCEPT&lt;br /&gt;
 # iptables -t filter -I INPUT -i intern0 -p tcp -m tcp --dport 67 -j ACCEPT&lt;br /&gt;
 # iptables -t filter -I INPUT -i intern0 -p udp -m udp --dport 53 -j ACCEPT&lt;br /&gt;
 # iptables -t filter -I INPUT -i intern0 -p tcp -m tcp --dport 53 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
===Shorewall===&lt;br /&gt;
iptables フロントエンドの Shorewall を使うことで簡単に設定できます。詳しくは [[Shorewall]] を見てください。&lt;br /&gt;
&lt;br /&gt;
==その他の設定==&lt;br /&gt;
&lt;br /&gt;
===UPnP===&lt;br /&gt;
shorewall の上記設定に [[Wikipedia:UPnP|UPnP]] のサポートは含まれていません。UPnP を使用すると LAN の中からゲートウェイに攻撃を受けた場合に脆弱になるので UPnP の使用は非推奨です。ただし、アプリケーションによっては UPnP が必要となるケースもあります。&lt;br /&gt;
&lt;br /&gt;
ルーターで UPnP を有効にするには、UPnP インターネットゲートウェイデーモン (IGD) をインストールする必要があります。{{Pkg|miniupnpd}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
詳細は [http://www.shorewall.net/UPnP.html Shorewall guide on UPnP] を読んで下さい。&lt;br /&gt;
&lt;br /&gt;
===リモート管理===&lt;br /&gt;
&lt;br /&gt;
[[OpenSSH]] を使うことでルーターをリモートで管理することができます。&amp;quot;ヘッドレス&amp;quot; (モニタや入力デバイスを接続しない) に動かしたいときに有用です。&lt;br /&gt;
&lt;br /&gt;
=== ウェブキャッシュプロキシ ===&lt;br /&gt;
&lt;br /&gt;
ブラウジングを高速化したりセキュリティを高めるためにウェブプロキシを設定する方法は [[Squid]] や [[Polipo]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 時刻サーバー ===&lt;br /&gt;
ルーターを時刻サーバーとして使いたい場合、[[Network Time Protocol daemon]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
時刻サーバーを設定したら、shorewall や iptables の設定を変更して NTP の通信を許可してください。&lt;br /&gt;
&lt;br /&gt;
=== コンテンツフィルタリング ===&lt;br /&gt;
&lt;br /&gt;
コンテンツフィルタリングが必要なときは [[DansGuardian]] や [[Privoxy]] をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
=== トラフィックシェーピング ===&lt;br /&gt;
&lt;br /&gt;
トラフィックシェーピングは LAN 上に複数のマシンがある場合にとても便利です。トラフィックのタイプにあわせて優先度を割り当てます。インタラクティブなトラフィック (ssh やオンラインゲーム) は高い優先度を必要としますが、P2P のトラフィックは一番優先度が低くても問題ありません。&lt;br /&gt;
&lt;br /&gt;
==== shorewall ====&lt;br /&gt;
&lt;br /&gt;
[[Shorewall#トラフィックシェーピング]]を読んで下さい。&lt;/div&gt;</summary>
		<author><name>Enkunkun</name></author>
	</entry>
</feed>