🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
IPv6

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

IPv4

IPv4(Internet Protocol version 4)は、インターネットプロトコルの一つ。インターネットに繋がったコンピューターや機器を識別するためのIPアドレスを32ビット表記で表わします。しかしIPv4は、限界があるため、IPv6が次世代プロトコルとして注目されています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

3回答

5586閲覧

国内IPの定義と国内のみのアクセス許可について

ruuusaamarki

総合スコア470

IPv6

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

IPv4

IPv4(Internet Protocol version 4)は、インターネットプロトコルの一つ。インターネットに繋がったコンピューターや機器を識別するためのIPアドレスを32ビット表記で表わします。しかしIPv4は、限界があるため、IPv6が次世代プロトコルとして注目されています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

9クリップ

投稿2019/07/23 11:08

編集2019/07/24 03:48

前提

国内のIPアドレス(グローバル)を調査している中で疑問が出ました。

国内IPで検索すると
https://ipv4.fetus.jp/jp
http://www.cgis.biz/tools/access/

の情報が出てきました。
そこで自分のIPを以下のサイトで調査しました。
https://www.cman.jp/network/support/go_access.cgi

私の環境として某モバイルルータを使用しており、
都内からアクセスしている状態なのですが
前述の国内IPで検索したサイトのIPに出てこないという状況が発生しています。

###行ったこと
自分のIPを調べました。
https://www.cman.jp/network/support/go_access.cgi

以下のサイトからhtaccessをダウンロードして自分のIPを検索しましたがありませんでした。
http://www.cgis.biz/tools/access/

以下のサイトで国の判定をしました。日本とでました。
https://testpage.jp/tool/ip_address_country.php

ここでプレフィックス長というものがあったことを思い出しました。
allow from .../8 という表記は
..***.***から1,600万個のアドレスを許可するという
意味なのかと予想しています。

質問

国内IPと言われているものの定義がよくわからなくなりました。
国内に割り当てられているIPの一覧=国内にサーバ(プロバイダのDNS)の実機があるという認識はあっておりますでしょうか。

モバイルルータの場合当てはまらなくなるということはあるのでしょうか。

国内からのアクセスを許可するという場合にIPを使用してというのは現在だと難しいのでしょうか。

追加質問

IPアドレスの繰り上がり法則についてよくわからなくなりました。

以下のサイトから
http://www.cgis.biz/tools/access/
htaccessをダウンロードし最初の部分を確認すると

allow from 1.0.16.0/20 allow from 1.0.64.0/18 allow from 1.1.64.0/18 allow from 1.5.0.0/16 allow from 1.21.0.0/16

となっており規則性は感じられるもののどのように次の値が決まっているのかがよくわかりません。
そもそも最初の1.0.16.0がなぜ最初に来るのか?
1.0.0.0からではないのか?
また1.0.64.0/18の次は1.1.64.0/18ですが
1.0.64.0/18の最後は1.0.999.999になるのでしょうか。

備考|最終的に実現したいこと

某レンタルサーバにて海外からのアクセス遮断機能というものがあり
(htaccessは存在せず具体的にどうやって実施しているかは不明)
その機能を有効にしたまま国内からのアクセス+一つの海外グローバルIPを許可したい。
という状況で国内IPを調査している段階で前述の疑問が出てきました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

日本のIPは例外なくAPNICというRIR(地域インターネットレジストリ)が割り当てており、
下記で最新が確認できます。
http://ftp.apnic.net/stats/apnic/delegated-apnic-latest

IPによる国判別関係は基本的にこちらがソースといえます。
さくらレンサバの国外フィルタもここを参照しているはずです。

毎日割り当ては変わるので
バッチか何かで更新もしていることでしょう。

ちなみに質問者さんのIPが国内判定されない理由は下記のいずれかです。

  • 判定方法が間違っている
  • VPNや海外PROXYを利用している

例えば意図していなくてもAndroidスマホのChromeアプリは
GoogleProxy(アメリカ判定)を経由することがあります。

やはり原因はIPを書いてもらわないと正しくは判断できません。
(XXX1.XXX2.XXX3.XXX4)のうちXXX3まで貼ってもらえれば詳しくお調べできますよ。


追加質問について

規則性は感じられるもののどのように次の値が決まっているのかがよくわかりません。

概ね順番のため規則性があるように見えますが、実際は規則なんてありません。
回答で説明したRIRは全部で5つの組織が存在し、それぞれで重複しないように組織間でとり決めます。
つまりルールは彼らにしかわからず、我々はリストを全て網羅するしかないということになります。

そもそも最初の1.0.16.0がなぜ最初に来るのか?1.0.0.0からではないのか?

最後のセグメントが0または255は特殊なアドレスであり通常は割り当てられません。

また1.0.64.0/18の次は1.1.64.0/18ですが1.0.64.0/18の最後は1.0.999.999になるのでしょうか。

なりません。各セグメントは0〜255です。
/XX 部分は範囲を示す「サブネットマスク」といいます。

詳しく勉強されたいなら下記が参考になると思います。
https://qiita.com/mogulla3/items/efb4c9328d82d24d98e6
https://note.cman.jp/network/subnetmask.cgi

投稿2019/07/23 11:37

編集2019/07/25 10:55
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruuusaamarki

2019/07/24 05:02 編集

ご回答ありがとうございます。 大元のデータベースを知りたかったので助かりました。 また割り当ても変化しているんですね。 判定方法も改めて調べていたところ 自分のプレフィックス長の理解不足が理由としてありそうでした。 ご回答いただいたことをヒントとして 「行ったこと」「追加質問」を追記してみました。 こちらに認識違いなどありましたらご指摘をいただけましたら幸いです。 当初http://www.cgis.biz/tools/access/からダウンロードしたファイルに 自分のIPがなかったのはプレフィックス長で表記されていてその中に含まれていた可能性があると予想しています。 すみません、わかりづらい部分がありましたらお手数ですがご指摘願います。
退会済みユーザー

退会済みユーザー

2019/07/25 11:18

> 日本のIPは例外なくAPNICというRIR(地域インターネットレジストリ)が割り当てており、 これ、正しくないと思います。 海外レジストラの管理するアドレス帯も国内で使用されています。
ruuusaamarki

2019/07/26 05:52

te2jiさんコメントありがとうございます。 そうなんですね。海外レジストラが日本にDNSを置いているということなんでしょうか? この辺りの定義を探してみる必要がありそうですね。
ruuusaamarki

2019/07/26 05:59

mahomahoさん追記ありがとうございます。 前提知識が不足した状態の質問にお答えくださりありがとうございます。 モヤモヤしていた部分が少しずつはっきりしてきました。 いただいたリンクも早速ストックさせていただきました。
退会済みユーザー

退会済みユーザー

2019/07/26 07:06

あーごめん。俺のコメントもちょっとウソが^^; レジストラとレジストリを混同して使っちゃってますね。。。 レジストリが正しいです。 (以下、本題) 例えば、AWS で使用しているアドレスレンジで、東京リージョンの中に "ip_prefix": "54.92.0.0/17", があるのですが、RIR としては「ARIN」(アメリカ)になります。 AWS 上のサーバに ssh トンネル張ったまま国内サイトを見ようとして時々見れないことがあるので、RIR で判別しているサービスが存在していることは確かです。 他の判定条件としては GeoIPLocation を使用しているケースがありそうです。
ruuusaamarki

2019/07/26 08:41

度々のコメントありがとうございます。 すみません、私も前提知識なさすぎて質問がふわっとしてしまっていました。 しかし、たくさんのキーワードが知れて 判別方法も様々あることがわかっただけでも収穫は大きかったです。 (理解を深めるのには時間が必要そうですが(^^:)) >AWS 上のサーバに ssh トンネル張ったまま国内サイトを見ようとして時々見れない こちらはEC2にsshログインしてEC2内でcurl叩くと見れない=RIR判別ではないかということでしょうか。 私の解釈に間違いがありましたらご指摘いただければ嬉しいです。 GeoIPLocationというものもあるんですね〜 精度をあげるには複数のデータベースを適切に使用して判別するということになるんでしょうね。 勉強になります。
退会済みユーザー

退会済みユーザー

2019/07/26 09:36

> こちらはEC2にsshログインしてEC2内でcurl叩くと見れない=RIR判別ではないかということでしょうか。 違います。多分 ssh トンネルは理解できないと思うので、「AWS(EC2)上の端末からブラウザでアクセスしたときに、見れないサイトが有る」と読み替え下さい。
ruuusaamarki

2019/07/28 03:23

sshトンネルというのがあるんですね! 少し自分でも調べてみます。 AWSなどRIR判別のサーバがあるということが知れたのは大きかったです。 ありがとうございます!
退会済みユーザー

退会済みユーザー

2019/07/28 06:36 編集

> AWSなどRIR判別のサーバがあるということが知れたのは大きかったです。 なんとなくうまく伝わっていない気がします。 「RIR で国判定しているサイトは、AWS からのアクセスを弾いてしまう」と伝えたかったのですが、逆をイメージしていませんか? AWS 上に端末があるってイメージが伝わりにくいのだと思いますが、 AWS 上の端末のブラウザからアクセス→どっかのサイト(RIR で国判定) → 弾かれる。 です。
ruuusaamarki

2019/07/28 06:34

>AWSなどRIR判別のサーバがあるということが知れたのは大きかったです。 すみません、この書き方が間違っておりました。 >AWS 上の端末のブラウザからアクセス→どっかのサイト(RIR で国判定) → 弾かれる。 東京リージョンの"ip_prefix": "54.92.0.0/17"がRIRでアメリカになるということですね。 ここでいう端末というのはOSのことでしょうか。 度々の質問恐縮です><;
退会済みユーザー

退会済みユーザー

2019/07/28 06:42

> 東京リージョンの"ip_prefix": "54.92.0.0/17"がRIRでアメリカになるということですね。 はい。そうです。 > ここでいう端末というのはOSのことでしょうか 端末もわかりにくいか^^;PROXY と思えばわかりやすいですかね? "54.92.0.0/17"なアドレスからどっかの Web サーバにアクセスした時、RIR で国判定していると、アメリカ(国内ではない)と判断されてしまうよ。ってことです。
ruuusaamarki

2019/07/28 06:51

ありがとうございます! 多分理解できたと思います^o^/
退会済みユーザー

退会済みユーザー

2019/07/30 04:12 編集

IP割り当てはAPNIC100%管理で間違いないです。 ただし、te2jiさんがおっしゃるように、 >例えば、AWS で使用しているアドレスレンジで、東京リージョンの中に やproxy利用になってくるとキリがないです。 そもそも何を持って海外と判定とするかになりますね。 大元の割り振りでよければ、APNICのリストで良いですし、 日本人という意味ではブラウザの仕様言語が日本語という情報からでもだいたいOKとなります。 いずれにしろ、末端のIPから完全なアクセス元を判別することはできません。(経路が追えないため) →なので通常は、APNICリストを利用します また、ruuusaamarkiさんの「DNS」という用語の使い方が引っかかるので一応補足です^^; DNSはIPアドレスとドメイン名(xxxxx.jpなど)を紐づける仕組みです。 よってアメリカのIPに日本のドメイン(xxxxx.jpなど)を紐づけられますので今回の「IPから国を判別」という意味では関係ないですね。 ドメイン名から日本の判定「ne.jpやco.jp」でも判断できなくもないですが、やはり不完全です
ruuusaamarki

2019/07/31 15:52

mahomahoさん補足ありがとうございます! >→なので通常は、APNICリストを利用します これがはっきりしただけでも大きな収穫でした。 DNSについても大変失礼いたしました。 ご指摘ありがとうございます。 すみません、また疑問が出てしまいました。 APNICリストが割り当てられるのはオリジンサーバになるのでしょうか。
guest

0

国内のみからのアクセスに限定する方法で、サーバの設定が可能であれば
下記が参考になるかと思います。
「ipsetとiptablesでSSHを日本国内からの接続に限定する 」
https://inaba-serverdesign.jp/blog/20150209/ipset_iptables_country_centos6.html

投稿2019/07/25 13:50

nagaetty

総合スコア1106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruuusaamarki

2019/07/26 05:37

ご回答ありがとうございます。 OS自体にもこういった機能があるんですね。 VPSやEC2などで応用できそうです。 EC2はセキュリティグループという機能で同じようなことをしていますが ブラックボックスだったので仕組みが少し見えた気がしました。 貴重な情報ありがとうございました。
guest

0

そもそも最初の1.0.16.0がなぜ最初に来るのか?

1.0.0.0/24 AU オーストラリア
1.0.1.0/24 CN 中国
1.0.2.0/23 CN
1.0.4.0/22 AU
1.0.8.0/21 CN
と、それ以前のアドレス帯は日本には割り当てられていないためです。

また1.0.64.0/18の次は1.1.64.0/18ですが
1.0.64.0/18の最後は1.0.999.999になるのでしょうか。

1.0.64.0/18 は 1.0.64.0~1.0.127.255 の範囲であることを表しています。
1.0.64.0/18 から 1.1.64.0/18 の間は最初の回答と同じく日本以外に割り当てられています

投稿2019/07/25 06:39

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruuusaamarki

2019/07/25 08:21

ご回答ありがとうございます。 国別に割り当てが決まっていてそれが不規則なんですね。 自分のIPに関する基礎知識が不足していました。 改めて書籍など探してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問