NA(P)Tルーター

最近CentOSをお勉強し始めた友人K。
と言うか、拙生がそのように仕向けハッパを
かけているのですが。。。

NATルーターに苦戦しているらしい。
CentOS7ならなんてことないのに6で
始めちゃったので7より少々面倒です。

面倒と言っても各NICの設定がちゃんとしてあり
sysctl.confの設定で

net.ipv4.ip_forward = 1

細かいオプション的な設定を除けばiptableで

-A POSTROUTING -o (*) -j MASQUERADE
   (*)はグローバルIPアドレス側のNIC名

とするだけなんでさほど難しくないと思うんですけど。

よく聞くとiptableで

-A POSTROUTING -o eth0 -j MASQUERADE

としたとのことですが、PPPoEで接続するために
すでに設定がしてあるとのこと。
それではダメです。

-A POSTROUTING -o ppp0 -j MASQUERADE

としなくてはいけません。
物理的なNICはeth0であってもPPPoEを設定すると、
インターフェイスはあくまでppp0であり、eth0は
PPPoEに利用されるためのものとなります。
eth0やppp0は友人Kの環境です。
インターフェース名は必ずifconfigで表示される
ものでなくてはいけません。

 
NATルータに関してはCentOS7だと楽ちんです。
Firewall設定でオプション⇒標準ゾーンの変更から
内向きのNICのゾーンをpubulicからinternalに、
外向けNICを選択して接続ゾーンをexternalにしてやるだけです。
右ペインのタブにあるマスカレーディングもいじりたく
なりますが、ここのチェックは必要ありません。

もちろんコマンドでも同様にできます。

# firewall-cmd --set-default-zone=internal

# firewall-cmd --zone=external --change-interface=インターフェース名

NATではない!?@基本編

CentOSではNAPT方式が採用されており、IPマスカレード
と呼ばれています。
なので、NATルータではなくNAPTルータが正解かも。(笑

基本的なことを再確認@いくつかあるNAT

六角NAT
そんなのありません!六角NUTならありますけど。
最初からふざけちゃいました。。。スンマソン

静的NAT
グローバルとプライベートIPアドレスが1:1の変換。

動的NAT
n個のグローバルとm個のプラーベートIPアドレスの変換。
プラーベート側で接続が必要なときに空いているグローバル
IPアドレスに変換。
プライベート側の同時最大接続可能数はn個までです。
  *セグメントでは先頭(ネットワーク)と最後(ブロード
   キャスト)のIPアドレスは使えないので正確にはn-2個

NAPT(IPマスカレード)
プライベートIPアドレスとポートナンバーをグローバルIP
アドレスのポート番号に変換することで、グローバルIP
アドレスが一個であっても、ポート番号を併用により
1:mが可能になります。

  注:CentOSのNAPTはIPv6には対応していません。

CentOS7ではディフォルトでNA(P)Tルーターとしての
ほとんどの機能設定が施されているために、上記のような
簡単な設定で機能してしまうのです。

HOME

おすすめ