- ネットワーク
イントラネットとは|インターネット・エクストラネットとの違いを実演
結論
イントラネットとは、インターネットと同じ技術(TCP/IP・Web・DNS・メール)を使って作る、社内の人だけが使えるネットワークと、その上で動く社内サイト・社内システムのことです。しくみは同じでも、つながる相手が「社内の人だけ」に限られている点がインターネットとの違いです。取引先など決まった社外の相手にだけ一部を開いたものはエクストラネットと呼びます。
この記事でわかること
- イントラネット・インターネット・エクストラネットの違いと、社内ポータルなどの例
- 社内からは開けて社外からは見えない理由(プライベートIP・ファイアウォール・社内DNS・NAT)を実際に確かめた結果
- VPN・ゼロトラストとの関係、メリット・デメリット、作り方の選択肢
この記事で実際に動かしたもの:自分のネットワーク名前空間(ip netns)の中に「社内LAN・社内ルーター・社内DNS・社内ポータル・取引先・社外の人・公開サイト」を作り、誰から何が見えるかを curl・dig・tcpdump で1つずつ確かめました。
flowchart TB
SRV["社内ポータル<br>社内DNS"] --- PC["社員のPC"]
PC --- GW["社内ルーター<br>FW・NAT"]
GW --- PUB["公開サイト"]
PTN["取引先"] -- "入口だけ" --> GW
OUT["社外の人"] -. "不可" .-x GW
よく調べられることの答えを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| イントラネットとは | インターネットの技術で作る、社内の人だけが使うネットワークと社内サイト | イントラネットとは |
| 「イントラ」の意味 | ラテン語由来の接頭辞で「内側の」。社内ネットワーク・社内サイトの略として使う | イントラネットとは |
| インターネットとの違い | 技術は同じ。違うのは、つながる相手(社内だけか、世界中か) | インターネット・エクストラネットとの違い |
| エクストラネットとの違い | エクストラネットは、取引先など決まった社外の相手にもイントラネットの一部を開いたもの | エクストラネットを実演 |
| なぜ外から見えないのか | プライベートIP・ファイアウォール・社内DNS・NATの4つが重なっている | 社外から試した結果 |
| イントラネットの例 | 社内ポータル・勤怠・経費精算・社内Wiki・ファイル共有・社内SNS | イントラネットの例 |
| 社外から使うには | VPNで社内につなぐか、ゼロトラストの考え方で1つずつ認証して使う | VPN・ゼロトラストとの関係 |
| LANとの違い | LANは「線・機器でつながる範囲」、イントラネットは「その上で動く社内向けの仕組み」 | イントラネットの仕組み |
確認環境:Ubuntu 24.04.5 LTS(カーネル 6.18)の上で、ip netns(iproute2 6.1.0)でネットワーク名前空間を6つ(社内ルーター・社内サーバー・社員のPC・社外の人・公開サイト・取引先)作り、ブリッジと veth でつなぎました。社内のアドレスはプライベートIPの 10.206.1.0/24、インターネット側はドキュメント用に予約された 198.51.100.0/24(RFC 5737)を使っています。社内DNSと「インターネット側のDNS」は dnsmasq 2.91、Webサーバーは Python 3.13.18 の http.server で書いた小さなサーバー、ファイアウォールとNATは名前空間の中の nftables、確認は curl 8.5.0・dig 9.18.39・tcpdump 4.99.4 です。dnsmasq・dig・tcpdump は apt-get download した .deb を作業用のフォルダーに展開して使い、apt でのインストールはしていません。ホストのネットワーク設定(iptables・sysctl・/etc)は変えず、外部のサーバーには接続していません。ゼロトラストは NIST SP 800-207、プライベートIPは RFC 1918、.internal は IANA・ICANN の公開情報で確かめ、図は mermaid で描画を確かめています(確認日 2026年10月29日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「イントラネットとは|インターネット・エクストラネットとの違いを実演」
イントラネットとは(意味と「イントラ」の使われ方)
この節では、イントラネットという言葉の意味と、会話で「イントラ」と言ったときに何を指しているのかが分かります。
イントラネット(intranet)は、会社や学校・役所などの組織の中だけで使うネットワークと、その上で動く社内向けの仕組みをまとめた呼び名です。英語の intranet は、「内側の」を表す接頭辞 intra- と network を組み合わせた言葉です。インターネット(internet)の inter- は「〜の間の」なので、「ネットワークとネットワークの間をつなぐもの」がインターネット、「組織の内側で閉じたもの」がイントラネット、と覚えると区別しやすくなります。
大事なのは、イントラネットは特別な技術ではなく、インターネットと同じ技術で作るという点です。パソコンは TCP/IP で通信し、社内サイトはブラウザで開き、名前は DNS で引き、メールは SMTP・IMAP で送受信します。違うのは「誰がつながれるか」だけです。
ふだんの意味と IT での意味
「イントラ」という短い言い方は、会社の外の人には伝わりにくい言葉です。ふだんの言葉と IT での意味を並べます。
| 言葉 | ふだんの意味 | IT・社内での意味 |
|---|---|---|
| intra-(イントラ) | 「内側の」を表す接頭辞(intramural=学内の、など) | 「社内の」。イントラネットの略として使う |
| イントラ | (ふだんの会話ではほぼ使わない) | 社内ネットワーク、または社内ポータルのサイトそのもの |
| イントラに載せる | ― | 社内ポータルに掲示する・資料を置く |
| イントラからしか見られない | ― | 社内のネットワーク(またはVPN)につないだ状態でないと開けない |
場面別に「イントラネット」が指すもの
同じ「イントラネット」でも、話す場面で指すものが少し違います。
| 場面 | 指しているもの | 例 |
|---|---|---|
| 社員どうしの会話 | 社内ポータル(社内向けのWebサイト) | 「規程はイントラに載っています」 |
| 情報システム部門の話 | 社内のネットワーク全体(LAN・拠点間の回線・社内サーバー) | 「イントラ側のサーバーなので外からは見えません」 |
| セキュリティの話 | ファイアウォールの内側の、信頼できるとみなす範囲 | 「イントラとインターネットの境界で止める」 |
| 自治体・学校 | 庁内・学内だけで使うネットワーク(地域イントラネット など) | 「学内イントラネットへのアクセス」 |
インターネット・エクストラネットとの違い
この節では、イントラネットとインターネット・エクストラネットの違いを、使う人・公開の範囲・入口の作り方で比べて分かります。
| 比べる点 | イントラネット | エクストラネット | インターネット |
|---|---|---|---|
| 使う人 | 社員など組織の中の人 | 社内の人+決まった取引先・関連会社 | 世界中の誰でも |
| 公開の範囲 | 社内だけ | 社内+許可した相手(一部の画面・データだけ) | 誰でも見られる |
| 主な使い道 | 社内ポータル・勤怠・経費・社内Wiki | 受発注・在庫照会・図面や資料の共有 | 会社のホームページ・ECサイト・検索 |
| 入口の作り方 | 外からの接続はファイアウォールで止める | 相手を決めて入口を開け、ログインで絞る | 誰でも入れるように開ける |
| 使う技術 | どれも同じ(TCP/IP・HTTP・DNS・TLS) | ||
建物にたとえると
エクストラネットは、取引先にだけ入館証を渡して通す「商談室」。社内フロア全体には入れない
よく混同される LAN・WAN・VPN との関係も整理しておきます。LAN は「同じ建物の中でつながる範囲」という線と機器の話、イントラネットは「その上で動く社内向けの仕組み」という使い方の話です。拠点が複数ある会社では、拠点の LAN どうしを WAN(専用線や閉域網)や VPN でつなぎ、全体を1つのイントラネットとして使います。WAN と LAN の違いは、関連記事「WANとは|LANとの違い・種類・WANポートを図と実例で解説」で扱っています。
イントラネットの仕組み(4つの壁)
この節では、イントラネットが「社内からは見えて、社外からは見えない」状態を、どんな仕組みの組み合わせで作っているのかが分かります。
イントラネットの「閉じている」状態は、1つの装置で作っているのではありません。次の4つが重なっています。後の節で、それぞれを実際に外して・付けて確かめます。
1プライベートIPアドレス
社内の機器には 10.0.0.0/8・172.16.0.0/12・192.168.0.0/16(RFC 1918)の住所を付ける。この住所はインターネットの中では経路が流れないので、外から宛先にできない。
2ファイアウォール
社内と外の境目のルーターで、外から始まる接続を止める。社内から外へ出た通信の「返事」だけを通す。
3社内DNS
portal.intra.internal のような社内の名前は、社内のDNSサーバーだけが知っている。外のDNSに聞いても「そんな名前は無い」と返る。
4NAT
社内のPCが外のサイトを見るとき、送り元の住所をルーターの住所に書き換える。外のサイトには社内の住所が見えない。
この4つに加えて、社内サイトそのものにもログイン(認証)と権限を付けるのが今の作り方です。ネットワークの内側にいるだけで全部が見えると、1台のPCが乗っ取られたときに被害が広がるためです。この考え方は、後の節のゼロトラストにつながります。
プライベートIPとグローバルIPの違い、NAT の変換の様子は、関連記事「グローバルIPの確認方法|コマンド・プライベートIPとの違いとNATを実演」でも扱っています。
プライベートIPかどうかを確かめた結果
Python の ipaddress で、記事で使う住所を分類しました。
import ipaddress as i
for a in ['10.206.1.10','172.16.5.4','192.168.1.10','198.51.100.80','8.8.8.8','100.64.0.1']:
x = i.ip_address(a)
print(a, 'private' if x.is_private else '-', 'global' if x.is_global else '-')
10.206.1.10 private -
172.16.5.4 private -
192.168.1.10 private -
198.51.100.80 private -
8.8.8.8 - global
100.64.0.1 - -
10・172.16・192.168 で始まる住所は private と判定されました。この記事でインターネット側として使った 198.51.100.80 も private と出ますが、これは「ドキュメント・実験用に予約された住所」で、実際のインターネットでは使われない、という意味です(RFC 5737)。本物のグローバルIPを実験に使わないために、この範囲を選んでいます。100.64.0.1 は携帯回線などの CGNAT で使う共有アドレス(RFC 6598)で、private でも global でもありません。
イントラネットの例(社内ポータル・社内システム)
この節では、イントラネットの上で実際にどんな社内サイト・社内システムが動いているのかが分かります。
社内ポータル
お知らせ・規程・申請書のひな形・各システムへのリンクを1か所にまとめた入口のサイト。「イントラ」と言えばこれを指すことが多い。
毎朝最初に開くページ
勤怠・経費・ワークフロー
出退勤の打刻、交通費や経費の精算、稟議・休暇の申請と承認。紙とハンコの手続きを置き換える。
個人情報を扱う
社内Wiki・ファイル共有
手順書・議事録・設計書を置く場所。ファイルサーバー(NAS)や文書管理システムも含む。
探す時間を減らす
社内SNS・掲示板・名簿
部署をまたいだ連絡、社員の連絡先・所属の検索、会議室の予約。
連絡の手間を減らす
このほか、開発の仕事では「社内の Git サーバー」「検証用の環境(ステージング)」「社内向けの API」「監視の画面」もイントラネットの上に置くことがよくあります。いずれも社外に見せる必要がなく、見えてしまうと困るものという点が共通しています。
最近は、社内ポータルや勤怠システムをクラウドのサービスで使う会社も増えました。その場合、サーバーは社外(クラウド事業者のデータセンター)にありますが、会社のアカウントでログインした人だけが使えるようにして、使い方としてはイントラネットと同じ役割を持たせています。
実験の構成:自分の環境に小さな会社のネットワークを作る
この節では、後の節の結果を出すために作った「小さな会社」の構成と、作り方の手順が分かります。
Linux のネットワーク名前空間(ip netns)を使うと、1台のマシンの中に「別々のパソコン」を何台も作れます。ホストの設定には触れず、作った名前空間の中だけで通信します。
| 役 | 名前空間 | IPアドレス | 動かしたもの |
|---|---|---|---|
| 社内ルーター | t206-gw | 10.206.1.1(社内側)・198.51.100.1(外側) | ブリッジ2つ・nftables(ファイアウォールとNAT) |
| 社内サーバー | t206-srv | 10.206.1.10・10.206.1.11 | 社内ポータル(80番)・取引先向けページ(8080番)・社内DNS |
| 社員のPC | t206-pc | 10.206.1.20 | curl・dig |
| 公開サイト | t206-pub | 198.51.100.80・198.51.100.53 | 公開Webサーバー・インターネット側のDNS |
| 社外の人 | t206-out | 198.51.100.50 | curl・dig・tcpdump |
| 取引先 | t206-ptn | 198.51.100.70 | curl |
名前空間を作る
ip netns add t206-gw のように6つ作り、それぞれの lo を起こす。名前に記事の番号を入れ、後で消し忘れないようにした。
社内LANと外側をブリッジでつくる
社内ルーターの中にブリッジを2つ(br-lan・br-wan)作り、各役から veth の線を差し込む。br-lan がハブのある社内LAN、br-wan がインターネット側にあたる。
社内DNSと社内サイトを起動する
社内サーバーで dnsmasq(社内の名前だけを知るDNS)と、小さな Web サーバーを2つ起動する。インターネット側にも DNS と公開サイトを1つずつ立てる。
ルーターにファイアウォールとNATを入れる
社内ルーターの名前空間の中だけで転送を有効にし、nftables の規則を読み込む。最初は規則なしで試し、あとから規則を足して違いを見る。
社内DNSの設定は、次の数行です。社内の名前2つだけを自分で答え、それ以外は外のDNSに問い合わせます。
no-resolv
no-hosts
listen-address=10.206.1.10
bind-interfaces
port=53
server=198.51.100.53
address=/portal.intra.internal/10.206.1.10
address=/extranet.intra.internal/10.206.1.11
log-queries
社内の名前には .internal を使いました。.internal は、ICANN が2024年7月に「組織の中だけで使う名前」として予約した最上位の名前で、インターネットのDNSには登録されません。以前は .local や .corp、実在しない名前を勝手に使う会社もありましたが、.local は mDNS(同じLAN内で名前を探す仕組み)と重なり、勝手に付けた名前は後で本物の最上位ドメインとして登録されることがあります。新しく社内の名前を決めるなら、自社のドメインの下(例:intra.自社ドメイン)か .internal にすると、外の名前とぶつかりません。
社内からは見える:社内DNSと社内ポータルに接続した結果
この節では、社員のPCから社内の名前を引いて社内ポータルを開くと、実際にどんな応答が返るのかが分かります。
社員のPC(10.206.1.20)から、社内DNSに社内ポータルの名前を問い合わせました。
ip netns exec t206-pc dig @10.206.1.10 portal.intra.internal
; <<>> DiG 9.18.39-0ubuntu0.24.04.8-Ubuntu <<>> @10.206.1.10 portal.intra.internal
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16262
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;portal.intra.internal. IN A
;; ANSWER SECTION:
portal.intra.internal. 0 IN A 10.206.1.10
;; Query time: 0 msec
;; SERVER: 10.206.1.10#53(10.206.1.10) (UDP)
status: NOERROR で、答えは 10.206.1.10(社内サーバー)です。flags の aa は「このDNSサーバーが自分で知っている答え」という印です。続けて社内ポータルを開きました。
ip netns exec t206-pc curl -sS --resolve portal.intra.internal:80:10.206.1.10 \
http://portal.intra.internal/ -w 'code=%{http_code} time=%{time_total}\n'
社内ポータル(イントラネット) path=/ you=10.206.1.20
code=200 time=0.001716
200 が返り、サーバーには送り元として社員のPCの住所 10.206.1.20 がそのまま見えています。社内のPCどうしは同じLANの中なので、ルーターを通らずに直接届きます。
社員のPCから外の名前(www.shop.example)を引くと、社内DNSは自分では答えず、外のDNSに問い合わせて結果を返しました。dnsmasq のログには次のように残りました。
dnsmasq[3009]: query[A] www.shop.example from 10.206.1.20
dnsmasq[3009]: forwarded www.shop.example to 198.51.100.53
dnsmasq[3009]: reply www.shop.example is 198.51.100.80
このように、社内の名前は社内DNSが答え、外の名前は外へ取り次ぐのが、社内DNSのよくある作り方です。社内からは社内の名前も外の名前も引けますが、外からは社内の名前は引けません。この使い分けは「スプリットDNS」とも呼ばれます。DNS のレコードの種類と dig の読み方は、関連記事「DNSレコードの種類一覧|digの実出力で役割と設定ミスを確認」で扱っています。
外からは見えない:社外から社内ポータルを試した結果
この節では、社外の人が社内ポータルに接続しようとしたとき、どの壁でどう止まるのかが、実際のエラーの文言つきで分かります。
壁1:経路が無い(プライベートIPは外から宛先にできない)
社外の人(198.51.100.50)には、最初は自分のLAN(198.51.100.0/24)の経路しか持たせていません。インターネットの中で 10.0.0.0/8 宛ての経路が流れていないのと同じ状態です。
$ ip netns exec t206-out curl -sS --max-time 3 http://10.206.1.10/
curl: (7) Failed to connect to 10.206.1.10 port 80 after 0 ms: Couldn't connect to server
$ ip netns exec t206-out dig @10.206.1.10 portal.intra.internal +tries=1 +time=2
;; UDP setup with 10.206.1.10#53(10.206.1.10) for portal.intra.internal failed: network unreachable.
;; no servers could be reached
0ミリ秒で失敗しています。パケットを送る前に、自分のPCが「その宛先への道が無い(network unreachable)」と判断したためです。
壁2:社内DNSに聞けず、外のDNSは社内の名前を知らない
社外の人が、インターネット側のDNSに社内ポータルの名前を聞いた結果です。
$ ip netns exec t206-out dig @198.51.100.53 portal.intra.internal +noall +comments
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 44684
NXDOMAIN は「その名前は存在しない」という答えです。本物のインターネットでも、.internal はDNSに登録されないため同じ答えになります。名前が分からなければ、住所も分かりません。
ファイアウォールが無いと、経路さえあれば入れてしまう
ここで、社外の人に「社内ルーター経由の経路」を持たせ、ルーターにはまだファイアウォールを入れていない状態で試しました。同じLANにいる人や、経路を細工できる立場の人を想定した確認です。
$ ip netns exec t206-out curl -sS --max-time 3 http://10.206.1.10/ -w 'code=%{http_code}\n'
社内ポータル(イントラネット) path=/ you=198.51.100.50
code=200
社外の住所 198.51.100.50 から、社内ポータルが開けてしまいました。プライベートIPは「インターネットでは経路が流れない」だけで、それ自体に鍵がかかっているわけではありません。外から始まる接続を止めるのは、ルーターのファイアウォールの仕事です。
壁3:ファイアウォールで外からの接続を止める
社内ルーターに、次の規則を入れました(名前空間の中だけの nftables です)。
table ip t206 {
chain prerouting { type nat hook prerouting priority dstnat;
iifname "br-wan" ip saddr 198.51.100.70 tcp dport 8080 dnat to 10.206.1.11:8080
}
chain postrouting { type nat hook postrouting priority srcnat;
ip saddr 10.206.1.0/24 oifname "br-wan" masquerade
}
chain forward { type filter hook forward priority filter; policy drop;
ct state established,related accept
iifname "br-lan" oifname "br-wan" accept
iifname "br-wan" ip daddr 10.206.1.11 tcp dport 8080 ct status dnat accept
counter
}
}
forward の決まりは「既定は全部止める(policy drop)」「社内から外へは通す」「その返事(established)は通す」「取引先が決まった入口から来たときだけ取引先向けページへ通す」の4行です。同じ社外の人から、もう一度試しました。
$ ip netns exec t206-out curl -sS --max-time 3 http://10.206.1.10/ -w 'code=%{http_code} time=%{time_total}\n'
curl: (28) Connection timed out after 3001 milliseconds
code=000 time=3.001838
今度は3秒待って時間切れ(timed out)になりました。社外の人の側で tcpdump を取ると、接続の申し込み(SYN、Flags [S])を2回送っても、返事が1つも来ていないことが分かります。
09:51:07.632825 IP 198.51.100.50.56486 > 10.206.1.10.80: Flags [S], seq 3142950316, ...
09:51:08.640196 IP 198.51.100.50.56486 > 10.206.1.10.80: Flags [S], seq 3142950316, ...
比べるために、ルーター自身の閉じているポート(198.51.100.1 の8080番。取引先以外から)にも接続しました。こちらは即座に「拒否(RST、Flags [R.])」が返り、0ミリ秒で失敗します。
09:51:09.643350 IP 198.51.100.50.45484 > 198.51.100.1.8080: Flags [S], seq 505047346, ...
09:51:09.643392 IP 198.51.100.1.8080 > 198.51.100.50.45484: Flags [R.], seq 0, ack 505047347, win 0, length 0
curl: (7) Failed to connect to 198.51.100.1 port 8080 after 0 ms: Couldn't connect to server
黙って捨てる(drop)
返事が来ないので、相手は時間切れまで待つ
curl は (28) Connection timed out
そこに機械があるかどうかも相手に分からない
拒否を返す(RST)
すぐに「そこでは受け付けていない」と返る
curl は (7) Couldn't connect to server
機械はあるがそのポートは閉じている、と分かる
この結果、ルーターの forward の counter は packets 3 bytes 180 になり、止めた申し込みの数が記録されていました。ufw・firewalld での同じような設定は、関連記事「ufwとfirewalldの使い方|コマンド対応表とSSH締め出し対策」で扱っています。
誰から何が見えるかの一覧(実測)
ファイアウォールとNATを入れた状態で、3つの立場から同じ5つを試した結果です。時間は curl の time_total(秒)です。
| 試したこと | 社員のPC | 取引先 | 社外の人 |
|---|---|---|---|
| 社内ポータル(10.206.1.10:80) | 200(0.005秒) | 時間切れ(3.00秒) | 時間切れ(3.00秒) |
| 取引先向けの入口(198.51.100.1:8080) | 拒否(0.0001秒) | 200(0.002秒) | 拒否(0.0001秒) |
| 公開サイト(198.51.100.80:80) | 200(0.003秒) | 200(0.005秒) | 200(0.003秒) |
| 社内DNSに社内の名前を聞く | 10.206.1.10 | no servers could be reached | no servers could be reached |
| 外のDNSに社内の名前を聞く | NXDOMAIN | NXDOMAIN | NXDOMAIN |
公開サイトは誰からでも見え、社内ポータルは社員だけ、取引先向けの入口は取引先だけ。この表の3つの列の違いが、そのまま「インターネット・イントラネット・エクストラネット」の違いです。
NATで社内の住所が外に出ない仕組み
この節では、社員のPCが外のサイトを見るとき、社内の住所がどう書き換えられて外へ出ていくのかが、パケットの実物で分かります。
まず、NAT(masquerade の行)を外した状態で、社員のPCから公開サイトに接続しました。公開サイトの側で tcpdump を取っています。
$ ip netns exec t206-pc curl -sS --max-time 2 http://198.51.100.80/
curl: (28) Connection timed out after 2002 milliseconds
# 公開サイト側の tcpdump
09:49:43.847378 IP 10.206.1.20.57556 > 198.51.100.80.80: Flags [S], seq 310207749, ...
09:49:44.864470 IP 10.206.1.20.57556 > 198.51.100.80.80: Flags [S], seq 310207749, ...
公開サイトには、送り元 10.206.1.20(社内の住所)の申し込みが届いています。しかし公開サイトは 10.206.1.20 への帰り道を知らないので、返事を返せず、社員のPCは時間切れになりました。プライベートIPのままでは、外のサイトから返事が返ってこないということです。
次に、NAT を戻して同じことをしました。
$ ip netns exec t206-pc curl -sS http://198.51.100.80/ -w 'code=%{http_code}\n'
公開サイト(インターネット) path=/ you=198.51.100.1
code=200
# 公開サイト側の tcpdump
09:49:47.993176 IP 198.51.100.1.44778 > 198.51.100.80.80: Flags [S], seq 4069103026, ...
09:49:47.993190 IP 198.51.100.80.80 > 198.51.100.1.44778: Flags [S.], seq 349417795, ...
09:49:47.993220 IP 198.51.100.1.44778 > 198.51.100.80.80: Flags [.], ack 1, ...
今度は送り元が 198.51.100.1(社内ルーターの外側の住所)に書き換わり、3往復の挨拶(SYN → SYN-ACK → ACK)が成立しました。公開サイトのアクセスログにも 198.51.100.1 GET / とだけ残り、社員のPCの住所は外に出ていません。社内に何台PCがあっても、外からは「ルーターが1台いるだけ」に見えます。
エクストラネットを実演:取引先にだけ一部を開く
この節では、エクストラネットが「イントラネットの一部を、決めた相手にだけ開いたもの」であることを、取引先と社外の人の結果を比べて分かります。
ルーターの prerouting の1行で、「送り元が取引先(198.51.100.70)で、ルーターの8080番に来た接続だけを、社内の取引先向けページ(10.206.1.11:8080)へ転送する」ようにしました。
$ ip netns exec t206-ptn curl -sS http://198.51.100.1:8080/ -w 'code=%{http_code}\n'
取引先向けページ(エクストラネット) path=/ you=198.51.100.70
code=200
$ ip netns exec t206-ptn curl -sS --max-time 3 http://10.206.1.10/ -w 'code=%{http_code}\n'
curl: (28) Connection timed out after 3002 milliseconds
code=000
$ ip netns exec t206-out curl -sS --max-time 3 http://198.51.100.1:8080/ -w 'code=%{http_code}\n'
curl: (7) Failed to connect to 198.51.100.1 port 8080 after 0 ms: Couldn't connect to server
code=000
取引先は取引先向けページだけを開けて、社内ポータルには入れません。同じ8080番でも、社外の人は拒否されました。エクストラネットは「社内の全部を見せる」のではなく、「決めた相手に、決めた画面だけを見せる」仕組みです。
ここでは仕組みを見せるために送り元の住所だけで絞りましたが、実際のエクストラネットでは住所だけに頼りません。相手の住所は変わることがあり、住所だけでは「その会社の誰か」までは分からないためです。実際には、HTTPS で暗号化したうえで取引先ごとのアカウントでログインさせる、拠点どうしを VPN でつなぐ、取引先向けのサービスをクラウドに置いて社内LANとは分ける、といった方法を組み合わせます。
社内にいても全部は見えない:認証と権限
この節では、イントラネットの中でも、ページごとにログインと権限で見られる人を絞る理由と、その実際の応答が分かります。
社内ポータルの /hr/(人事のページという想定)にだけ、ログインを付けました。社員のPCから、ログイン情報なしで開いた結果です。
$ ip netns exec t206-pc curl -sS -i http://10.206.1.10/hr/
HTTP/1.0 401 Unauthorized
Server: BaseHTTP/0.6 Python/3.13.18
WWW-Authenticate: Basic realm="intra-hr"
Content-Type: text/plain; charset=utf-8
ログインが必要です
社内のPCからでも 401 Unauthorized が返りました。ユーザー名とパスワードを付けると 200 になります(Basic 認証は実験用で、実際には HTTPS とシングルサインオンを使います)。
「社内のネットワークにいる=全部見てよい」としないのが今の作り方です。人事・給与・顧客の情報は、社員であっても担当者だけが見られるようにします。社内のPCが1台でもマルウェアに感染すると、ネットワークの内側から社内サイトに接続されるため、ネットワークの壁だけに頼る作り方では守れないからです。
- 1社内サイトにもログインを付ける「社内LANからだけ開ける」だけにしない。会社のアカウントでのシングルサインオンにすると、退職者の停止も1か所で済む
- 2ページ・フォルダーごとに見られる人を決める全社公開・部署内・担当者だけ、の3段階くらいから始めると運用しやすい
- 3社内でも HTTPS にする社内LANの中でも、パスワードやCookieを平文で流さない
- 4誰がいつ見たかを残すアクセスログに利用者・日時・ページを残すと、問い合わせや監査のときに確かめられる
VPN・ゼロトラストとイントラネットの関係
この節では、在宅勤務などで社外からイントラネットを使う方法として、VPN とゼロトラストがどう違うのかが、考え方の範囲で分かります。
ここまでの実験のとおり、イントラネットは社外から見えないように作ります。すると、在宅勤務や出張先から社内ポータルを開けません。これを解決する考え方が2つあります。
社外から社内のシステムを使う2つの考え方
VPN は「境界の内側に入れる」、ゼロトラストは「境界の内側でも毎回確かめる」
米国の NIST が2020年に出した SP 800-207(Zero Trust Architecture)は、ゼロトラストを「資産や利用者のアカウントに、物理的な場所やネットワーク上の場所だけを理由にした暗黙の信頼を与えない」考え方として説明しています。前の節で、社内のPCからでも /hr/ にログインを求めたのは、この考え方の小さな例です。
実際の会社では、どちらか一方ではなく、両方を組み合わせることがよくあります。たとえば「社内ポータルや勤怠はクラウドのサービスにして、会社のアカウントと多要素認証で使う」「社内にしか置けない業務システムだけ VPN で使う」といった分け方です。VPN の仕組みと、端末どうしを直接つなぐ方式の違いは、関連記事「Tailscaleとは|使い方・料金・VPNとの違いをWireGuardで実演」で扱っています。
| 比べる点 | 境界で守るイントラネット+VPN | ゼロトラストの考え方 |
|---|---|---|
| 信用の決め方 | 社内LAN(またはVPN)にいれば信用する | 場所に関係なく、毎回 人・端末・状況を確かめる |
| 社外から使う方法 | VPN で社内LANに入る | アプリごとにログインして直接使う |
| 1台が乗っ取られたとき | 社内の多くのものに届いてしまう | 許されたアプリにしか届かない |
| 向いている使い方 | 社内にしか置けない業務システム、拠点が少ない会社 | クラウドのサービスが多い、在宅勤務が多い会社 |
イントラネットのメリット・デメリットと作り方の選択肢
この節では、イントラネットを使う利点と注意点、作るときの選択肢と、どれを選ぶかの判断の目安が分かります。
メリットとデメリット
| メリット | デメリット・注意点 |
|---|---|
| 情報を1か所に集められ、探す時間が減る | 更新する人を決めないと、情報が以前のまま残り使われなくなる |
| 社外に見せたくない情報を、社内に閉じて共有できる | 「社内だから安全」と油断すると、内部からの持ち出しや感染に弱い |
| ブラウザで使えるので、専用ソフトの配布や操作の教育が少なくて済む | 社外からは使えない。在宅勤務には VPN などの仕組みが別に要る |
| 紙の申請・回覧を減らせる | 自社のサーバーで動かすと、機器の保守・更新・障害対応の手間と費用がかかる |
| 社内の名前・住所なので、外の名前とぶつからない | ネットワークの障害で、社内のシステムがまとめて使えなくなることがある |
作り方の選択肢
| 作り方 | 中身 | 向いている場合 |
|---|---|---|
| 自社のサーバーに置く(オンプレミス) | 社内にサーバーを置き、CMS やグループウェアを入れる | 社外に出せない情報が多い、情報システムの担当者がいる |
| クラウドのグループウェア・ポータルを使う | 事業者のサービスを会社のアカウントで使う | 早く始めたい、在宅勤務が多い、保守の手間を減らしたい |
| 社内Wiki・ファイル共有から始める | Wiki や共有フォルダーだけを用意する | 少人数、まず手順書や議事録を集めたい |
| 組み合わせる | ポータルはクラウド、業務システムは社内+VPN | 既存の社内システムがあり、少しずつ移したい |
判断表:イントラネットに置くか、インターネットに出すか
- 1誰に見せる情報か決める誰でも → インターネット(ホームページ)。社員だけ → イントラネット。決まった取引先も → エクストラネット
- 2社員の中でも見せる範囲を分ける全社・部署・担当者。人事・給与・顧客の情報は担当者だけ
- 3社外から使う必要があるか決めるある → VPN か、ログイン必須のクラウドのサービス。無い → 社内LANからだけ
- 4入口を最小にする外からの接続は既定で止め、開けるポートと相手を1つずつ決める
- 5更新する人と見直しの時期を決める情報が以前のまま残ったイントラネットは使われなくなる
社内のネットワークを図にするときの記号や書き分けは、関連記事「ネットワーク構成図の書き方|記号・レイヤー別の書き分けとAWS構成の例」で扱っています。
イントラネットでよくあるつまずき(症状・原因・確かめ方)
この節では、社内サイトが開けない、外から見えてしまう、といったよくある症状の原因と確かめ方が、実験で出た文言つきで分かります。
| 症状・文言 | 主な原因 | 確かめ方・直し方 |
|---|---|---|
| 在宅だと社内ポータルが開けない(時間切れ) | 社外からはファイアウォールで止まっている。仕組みどおりの動き | 会社の VPN につないでから開く。会社の決まった接続方法を情報システム部門に確かめる |
| 社内なのに名前で開けない(NXDOMAIN) | PC が社内DNSではなく外のDNSを使っている | nslookup・dig で、どのDNSサーバーに聞いているかを見る。社内DNSに聞くと引けるか比べる |
| 住所(IP)なら開けるが名前で開けない | 社内DNSに名前が登録されていない、または名前の綴り違い | 社内DNSに直接 dig して、answer があるかを見る |
| curl: (7) Couldn't connect to server(すぐ失敗) | 経路が無い(network unreachable)か、相手が拒否(RST)している | ip route で経路を見る。サーバー側でそのポートを待ち受けているか ss -lnt で見る |
| curl: (28) Connection timed out(待ってから失敗) | 途中のファイアウォールが黙って捨てている、または相手が帰り道を知らない | tcpdump で SYN を送っても返事が無いかを見る。NAT の設定もあわせて確かめる |
| 社内サイトが外から見えてしまった | ファイアウォールが無い・規則が広すぎる・テスト用に開けたポートが残っている | 既定を「止める」にし、開けた規則を一覧で見直す。社内サイトにもログインを付ける |
| 社内サイトで「保護されていない通信」と出る | 社内サイトを HTTP のまま使っている、または社内の証明書を PC が信頼していない | 社内でも HTTPS にし、証明書の配布方法を情報システム部門に確かめる |
実験の途中で、社内LANの中の通信(社員のPCから社内DNS)まで時間切れになったことがありました。原因は、ルーターの名前空間で「ブリッジを通る通信もファイアウォールの規則に通す」設定(net.bridge.bridge-nf-call-iptables)が有効になっていて、社内LANの中の通信まで forward の「既定は止める」に当たっていたことです。ルーターの名前空間の中だけでこの設定を 0 にすると直りました。ファイアウォールを入れた直後は、外からだけでなく社内どうしの通信も試すと、こうした止めすぎに気づけます。
イントラネットのよくある質問
この節では、イントラネットについてよく聞かれる質問への答えが分かります。
Q. イントラネットとインターネットは技術的に何が違いますか?
技術はほぼ同じです。どちらも TCP/IP で通信し、Web・DNS・メールを使います。違うのは、つながれる相手が社内の人だけか、世界中か、という範囲です。この記事の実験でも、同じ curl・同じ Web サーバーで、立場によって開ける・開けないが変わりました。
Q. 「イントラ」とだけ言われたら何のことですか?
多くの会社では社内ポータル(社内向けのWebサイト)を指します。情報システム部門の会話では、社内ネットワーク全体を指すこともあります。
Q. LAN とイントラネットは同じですか?
同じではありません。LAN は建物の中などでつながる範囲(線と機器)のことで、イントラネットはその上で動く社内向けの仕組み(社内サイト・社内システム)のことです。複数の拠点の LAN を WAN や VPN でつないで、1つのイントラネットにすることもあります。
Q. エクストラネットとは何ですか?
イントラネットの一部を、取引先や関連会社など決まった社外の相手にだけ開いたものです。受発注・在庫照会・資料の共有などに使います。実験では、取引先の住所から決まった入口に来た接続だけを取引先向けページへ通し、社内ポータルには入れないことを確かめました。
Q. イントラネットは家から使えますか?
そのままでは使えません。外からの接続はファイアウォールで止めているためです。会社が用意した VPN につなぐか、ログインして使うクラウドのサービスになっていれば使えます。使ってよい方法は会社ごとに決まっているので、情報システム部門の案内に従います。
Q. プライベートIPを使っていれば外から見られませんか?
それだけでは足りません。プライベートIPはインターネットで経路が流れないだけで、経路を持つ相手からは届きます。実験でも、ファイアウォールが無い状態では社外の住所から社内ポータルが開けました。外からの接続を止めるのはファイアウォールの役目です。
Q. 社内の名前(ドメイン)は何を使えばよいですか?
自社のドメインの下(例:intra.自社ドメイン)か、ICANN が2024年に組織内用として予約した .internal が候補です。.local は mDNS と重なり、実在しない名前を勝手に付けると、後で本物のドメインとして登録されたときにぶつかることがあります。
Q. イントラネットとグループウェアの違いは何ですか?
イントラネットは社内のネットワークと仕組み全体、グループウェアはその上で使う道具(掲示板・スケジュール・ワークフローなど)の1つです。グループウェアをクラウドで使う場合も、会社のアカウントだけが使えるようにして、イントラネットと同じ役割を持たせます。
Q. ゼロトラストになるとイントラネットは要らなくなりますか?
すぐに無くなるものではありません。ゼロトラストは「社内にいるから信用する」をやめる考え方で、社内のネットワークそのものを無くすことではありません。社内ポータルをクラウドに移し、社内にしか置けないシステムは残す、という組み合わせがよくあります。
Q. 社内サイトの URL が社外に知られたら開かれてしまいますか?
社内の名前は外のDNSでは NXDOMAIN(存在しない)になり、社内の住所へは外から届かないので、URL を知っていても開けません。ただし、URL や画面の内容そのものが社外秘のこともあるため、むやみに教えないのが基本です。
まとめ
- イントラネットとは、インターネットと同じ技術で作る、社内の人だけが使うネットワークと社内サイトです。「イントラ」は多くの場合、社内ポータルを指します。
- インターネットとの違いは技術ではなく「つながる相手の範囲」です。決まった取引先にだけ一部を開いたものがエクストラネットです。
- 外から見えないのは、プライベートIP・ファイアウォール・社内DNS・NAT が重なっているからです。実験では、ファイアウォールが無いと経路さえあれば社外から社内ポータルが開けました。
- 止め方で見え方が変わります。黙って捨てると3秒の時間切れ(curl (28))、拒否を返すと0ミリ秒で失敗(curl (7))でした。
- 社内にいても全部を見せないのが今の作り方です。社内サイトにもログインと権限を付け、社外からは VPN か、ゼロトラストの考え方で1つずつ確かめて使います。
参考・出典
いずれも2026年10月29日に確かめました。
- RFC 1918「Address Allocation for Private Internets」:https://www.rfc-editor.org/rfc/rfc1918
- RFC 5737「IPv4 Address Blocks Reserved for Documentation」:https://www.rfc-editor.org/rfc/rfc5737
- RFC 6598「IANA-Reserved IPv4 Prefix for Shared Address Space」:https://www.rfc-editor.org/rfc/rfc6598
- IANA「Proposed Top-Level Domain String for Private Use」:https://www.iana.org/news/2024/proposed-private-use-tld
- Wikipedia「.internal」(ICANN 理事会の2024年7月29日の決議の記載):https://en.wikipedia.org/wiki/.internal
- NIST「SP 800-207 Zero Trust Architecture」:https://csrc.nist.gov/Pubs/sp/800/207/Final
- dnsmasq「Man page」:https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html
- nftables wiki「Performing Network Address Translation (NAT)」:https://wiki.nftables.org/wiki-nftables/index.php/Performing_Network_Address_Translation_(NAT)
- ip-netns(8)「process network namespace management」:https://man7.org/linux/man-pages/man8/ip-netns.8.html
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「イントラネットとは|インターネット・エクストラネットとの違いを実演」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。