こんにちは。
今日は前回の続きをやっていこうと思います。
前回の記事[VyOS-1.2.0を使って簡単なネットワークを構築する話。準備編]
なお、ネットワークの基本的な技術に関してまだまとめた記事を作成していないので、基礎は把握してある物と過程して進めていきます。
基本的な技術に関してまとめた記事を作成したら追記します。
まえがき
前回の記事ではDebianのセットアップを丸投げにしてしまいましたが、ちゃんとやっていましたか?
今回はVyOSにルーターの基本となる設定をして、普通のルーターとして使えるようにします。
ですが、VyOSのキーボードが英字配列になっていて、記号等が打ちづらいと思います。
英字配列以外のキーボードを使用している方は、キーボードの配列を変更するコマンドを実行しておきましょう
set console keymap
このコマンドを実行するとキーボード設定ようのUIが立ち上がりますので設定をしましょう。
次は、VirtualBoxを起動してVyOSを起動し、ログインをしてください。
ログイン後、configure
コマンドを実行してください。
Linuxなのでconf
まで入力した時に[Tab]キーを押すとコマンドを補完してくれます。
ちなみにこのconfigure
というコマンドが何をしているか解説をすると、
VyOSには2種類のモードが有って、
- operational mode (操作モード)
- configuration mode (設定モード)
ログインした時は1の操作モードでログインされます。
VyOSのユーザーガイド曰く
操作モードは、システムタスク、ビューシステム、サービスステータスのコマンドが許可されており
さらに設定モードでは、システム設定の変更が出来ます。
だそうです。
configure
コマンドを実行すると、操作モードから設定モードに移行します。
設定モードに移行したら設定コマンドを実行していきます。
ですが、その前に・・・
ip a
コマンドを実行してインターフェイスとIPアドレスの確認をしましょう。
lo
とeth0
とeth1
が表示され、IPアドレスはlo
にしか割り当てられていないと思います。
lo
には127.0.0.1
というIPアドレスが与えられていると思います。
これは、lo (Loopback network interface)と言って、自分自身に対する通信の際に使用されます。
詳しいことは別の記事で説明しますが、今回は説明しません。
このインターフェイスに設定されているIPアドレスも同じく、ローカル・ループバック・アドレス(localhostアドレス)と呼ばれ、自分自身に対する通信に使われるIPアドレスです。
それ以外のインターフェイスにはIPアドレスは設定されていないと思います。
今回はeth0
がNATという設定になっているので、インターネットに繋がるWAN
インターフェイスとして使用します
あとで説明しますが、eth1
がLANとして動作するようになりますので、覚えておいてください。
WANの設定
では、WANインターフェイスにIPアドレスを設定しましょう。
今回はDHCPでIPアドレスが配られていますが、DHCPでIPアドレスを受け取るように設定しないとIPアドレスがありません。
なので、eth0にIPアドレスをDHCPで受けとる設定をしましょう
set interfaces ethernet
eth0
address dhcp
eth0 の部分でWANとして動作させるインターフェイスを選択します
このコマンドだけでDHCPでアドレスを受け取る設定は出来ましたが、まだ反映されていません。
この設定を保存して反映させましょう。
保存はsave
反映はcommit
です。
正しく設定されていればIPアドレスが設定されているはずです。確認してみましょう
LAN側の設定
IPアドレス&DHCP Serverの設定
今度は、直接はインターネットに接続されない側の設定をしましょう
まずは、インターフェイス自体にIPアドレスを設定します。
先程DHCPの設定をしたコマンドを少し変えて、
set interfaces ethernet eth1 address
172.16.1.1/24
とします。
172.16.1.1/24
の部分は変えてもらっても構いませんが、今回はこれを使います。
詳しい説明はこれもまた別の記事でしますので今回は省かせていただきます。
次は、このインターフェイスにPCが接続された時に、自動的にIPアドレスを配ってくれるようにするためにDHCP Serverの設定をします。
set service dhcp-server shared-network-name LOCAL authoritative set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 default-router 172.16.1.1 set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 dns-server 172.16.1.1 set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 range 0 start 172.16.1.2 set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 range 0 stop 172.16.1.254 set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 lease 86400
では、コマンドの解説をします。
set service dhcp-server shared-network-name LOCAL authoritative
1行目の部分で、このネットワーク上でこのルーターをDHCP Serverとして使用する設定です。
ですが、1行目だけでは設定が足りないので、必要な設定を足してあげます
set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 default-router
172.16.1.1
2行目の部分ではこのネットワーク(172.16.1.0)でのデフォルトルート(デフォルトゲートウェイ)を自分自身に設定しています
set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 dns-server 172.16.1.1
3行目の部分では、このネットワーク上で使用するDNS Serverを自分自身に設定しています。
set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 range 0 start 172.16.1.2
set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 range 0 stop 172.16.1.254
4、5行目の上の部分では、DHCP Serverが、このネットワーク上に接続されるコンピューターにIPアドレスを配るときの決まりを書いています。
start
の行では、配るIPアドレスの開始の部分を選択しています。
今回は172.16.1.2
と書いてあるので、172.16.1.2~
という風にIPアドレスを配ります
その下の行では、IPアドレスの終わりを書いています。
今回は172.16.1.254
と書いてあるので、上の行の設定と合わせて172.16.1.2~172.16.1.254
という風にIPアドレスを配ります
ちなみに、rangeの部分のあとに数字を入れるとDHCPで配るIPアドレスに詳細な条件を与える事ができますが、今回は0
のまま行きます。詳しいことは自分で調べてください・・・。
set service dhcp-server shared-network-name LOCAL subnet 172.16.1.0/24 lease 86400
最後のこの行では、DHCPで配ったIPアドレスを何秒間持ち続けるかを設定します。
あまりにも長すぎる時間に設定してしまうと、IPアドレスが配られたコンピューターをネットワークから外したときにそのIPアドレスが配られなくなってしまいます。
今回は、VyOSの公式Wikiで86400
秒が設定されていたので、それを使用します。
この設定をしたら、先ほどと同じように保存して適応してください。
適応したら、次に進みます。
DNS Serverの設定
先ほど、自身をDNS Serverとしてクライアントマシンに教えるように設定したので、DNS Serverとして動作するように設定します
set system name-server 8.8.8.8
set service dns forwarding system
set service dns forwarding listen-on eth1
1行目のコマンドでは、このルーターが情報をもらってくる上位のDNS ServerのIPアドレスを指定しています。
8.8.8.8
というのが外部にあるDNS ServerのIPアドレスです。これはGoogleのDNSサーバーです。
このIPの部分を変更すれば、他のDNS Serverからドメインの情報を受け取る事ができます。
2行目のコマンドでは、このルーターがDNS Serverとして稼働する際に使用する上位のDNS Serverを指定するコマンドです。
system
を指定することによって、このルーターが使用するDNSサーバーの情報をそのまま使うように設定できます。
3行目のコマンドでは、DNSサーバーを使用するインターフェイスを指定します。
eth1
のインターフェイスのネットワーク上でこのルーターをDNS Serverとして使用する為、
この3つのコマンドを入力したら保存して適応しましょう。
DNSに関するお話もまた別の記事で行いますので、今はこれだけ覚えておいてください。
では、最後の設定を行います
NAT(NAPT)の設定
この設定をする事により内部ネットワーク(LAN)から外部のインターネット(WAN)に通信が出れるようにできます。
(子の設定にはNAPTやらPATやらIPマスカレードやらといろいろな名前が付いていますが、この記事ではNAPTで統一します。)
この技術に関しても別の記事にまとめますので、少々おまちください。
コマンドですが、
set nat source rule 1 outbound-interface eth0
set nat source rule 1 source address 172.16.1.0/24
set nat source rule 1 translation address masquerade
の3つで、一番上のコマンドでは外部のネットワークに接続されているインターフェイスを指定しています
真ん中の行では、変換される、内側のネットワークのアドレスを指定します。
172.16.1.0
のネットワークが変換されてインターネットに接続される予定なので、このようなコマンドになります。
一番下の行ではどのように変換するかの設定をします。
NATのように1対1で変換して通信するわけではなく、1体多で通信をする為、NAPT(IPマスカレード)を使用するように設定してあげます。
では、保存して適応しましょう。
最後にデフォルトルート(デフォルトゲートウェイ)の設定をします
デフォルトルートの設定
ここでは、ルーターが通信をどこに送るかを設定します。
set protocols static route 0.0.0.0/0 dhcp-interface eth0
このコマンドでは、eth0
がDHCPで受け取った通信経路の情報をそのままデフォルトルートとして設定するコマンドです。
保存して適応しましょう。
実際に試してみる
ここまでくると一般的な家庭で動いているルーターと同じような動作が可能となっています。
なので、用意してもらっていたDebianの仮想マシンのネットワーク設定を少し変更して、先ほどまで設定をしていたVyOSに接続するようにして、インターネットに接続できるか試してみようと思います。
VyOSの仮想マシンを停止せずにVirtualBoxのアプリを開いてください。
用意してあるDebianの仮想マシンをクリックしてからSettingsを開きます。
その後、Networkタブを開き、Attached to:
の部分をInternal Network
(内部ネットワーク)に変更してOKをクリックします。
この設定をすることにより、Debianは外部に接続されず、VyOSに直接接続されるようになります。
では、Debianを起動してみましょう。
起動が完了したら、ログインしてTerminalを開きましょう。Terminalが起動したらIPアドレスを確認するコマンドを実行します。
ip a
を実行してみましょう。
DHCP Serverの設定の時にIPアドレスを172.16.1.2~172.16.1.254
の範囲の中で振り分けるように設定したので、
その範囲のIPアドレスが配られていれば正しくIPアドレスを振り分ける事が出来ていると思われます。
外部に通信が出れているかを確認するために、googleにping
を送ってみましょう
(Linuxの場合はpingは自動的には止まらないので[Ctrl+C]で止めましょう)
ちゃんと通信ができていますね!
これで普通のルーターとして使える様になりました!
今回はここまでです。
次回をお楽しみに。
次回予告。
次回はクラウドサービスにVyOSを構築してVPNという技術を使用して1対1で通信をしてみようと思います。
ですが、クラウドにVyOSを構築するのには時間がかかってしまう為、可能なら各自でやっておいてください。
コメントを残す