VyOS 1.1.7でOpenVPNの認証にActive Directory(LDAP)を使用する場合、VyOSとしての機能だけでは実現できず、Debianのパッケージ等を入れてやる必要がある。 現時点ですでにVyOS側にOpenVPNでの諸設定(証明書認証等)はすでに済んでいる状態で、AD連携だけ追加するという前提で進めていく。 まず、以下のコマンドでDebianのリポジトリを登録、OpenVPNでLDAP連携を行うためのプラグインを導入する。

set system package repository squeeze components 'main contrib non-free'...

VLANで小分けにしているネットワークでVyOSを用いたVPNルータを追加しようとした際、各サブネットごとにゲートウェイ等を設定してやりたいということがあったので、ポリシーベースルーティングを設定したのでその備忘。 なお、VyOSのバージョンは1.1.7を利用している。

以下、コンフィグの設定例。

...
 interfaces {
     bonding bond0 {
         ...
         vif 100 {
             bridge-group {
                 bridge br100
             }...

以前にapu1c2という、NICが3つ搭載されたx86_64の基盤にVyOSをインストールしていたが、その後継機であるapu2c4を手に入れたので、これにVyOSをインストールする。 で、この時に結構ハマったので記録として残しておく。

なお、インストールにあたりシリアルコンソールが必要になるのだが、レートがapu2c4は115200、VyOSは9600になっているため、VyOSのブートに切り替わった際にレートを切り替える必要があるため、事前にこちらを参考にインストールディスクをカスタムしている。

当初、インストール方法としてUSBのCDドライブやUSBメモリからインストールをさ...


『Open Visual Traceroute』を使ってパケットが世界のどこを辿っているのかを見てみる

ちょっと調べ物をしていたところ、『Open Visual Traceroute』という、tracerouteを実行した際にパケットが世界のどこを飛んでいるのかを3Dの地球儀上に表示してくれるツールを見かけた。 パケットスニッファとしても利用可能、Javaで書かれているためかWindows・Mac OS X・Linux(Ubuntu・OpenSuse)とマルチプラットフォームに対応していたりと、なかなか良さそう。

インストーラーはトップページにリンクがあるので、そこからダウンロードしてインストールしてやればいいだろう(今回は手元にGUIのある環境がWindows 10なのでexeを取得)。 なお、当たり前だがJavaが必要になるので注意。


今触っている環境ではクライアントの接続するネットワークではDHCPサーバを動かしているのだが、ふとクライアントの固定IPの設定を許可しない方法(DHCPを強制する方法)が何かないかと思っていたところ、職場のチームリーダーからDHCPスヌーピングを利用するとよいとのアドバイスを受けた。
DHCPスヌーピングとはなんぞ?という点については、以下のページが参考になる。

上記ページを見てもらえればわかるが、クライ...


『NMS300』でNetGear機器の統合管理・コンフィグ自動バックアップを行わせる

一部環境でスイッチ類をNetGearで統一しているのだが、L2にスマートスイッチ(しかもGS110TPとかのちょっと安いやつ)を利用しているとコンソールがhttp(s)しかついておらず、コンフィグのバックアップ自動化をさせる場合はWebスクレイピングさせないといけなかったりする。
なんか、いい感じに統合で管理や自動バックアップさせる方法がないかなぁ…と考えていたところ、(バックアップはNetGear機器のみ対応のようだけど)NMS300という統合管理ツールがあるようだったのでこれを使ってみることにする。
対応しているOSはWindowsのみのようなので、とりあえずWindows...


ネットワーク機器のコンフィグバックアップツール『Oxidized』でNW機器のコンフィグをGitlab連携する

ネットワーク機器のコンフィグバックアップを自動化するツールといえば、前に紹介したrancidrConfigらへんがあるのだが、rancidに影響を受けたツールで『Oxidized』というツールを見かけたので、ちょっと触ってみることにした。
サポートしているNW機器のOSは結構多くて、CiscoのIOSやJuniperのJunOS・ScreenOSはもちろんのこと、VyattaとかRouterOS、FortiOSとかもあるようだ(NetGearェ…)。
Webクライアントもあり、かつ履歴管理はGitで行えるようなので結構便利そう。

今回は、このツールをCentOS 7に入れ...


CentOS 7にNW機器のコンフィグバックアップ自動化ツール「rancid」をインストールする

NW機器のコンフィグ自動バックアップ方法について調べていたところ、「rancid」というツールが良さそうだったので少し触ってみることにした。
比較的いろんなベンダーのNW機器に対応しており、CVSを用いての世代管理もできるようで、情報も豊富にありそうだ。一応、ViewVCを入れることでWebからコンフィグを管理させることも可能なようだ。というわけで、今回はCentOS7にこのrancid + ViewVCをインストールしてみる。こちらを見る限り、yumやapt-getでもインストールできそうだが、今回はソースをダウンロードしてインストールを行うことにした。手順については、こちら...


Windowsでスタティックルートの設定方法(CUI/GUI)

Windowsでスタティックルートを構成する場合は、CUI(コマンドプロンプト)から行う方法とRouting and RemoteAccess(RRAS)で設定する方法の2パターンがある。
基本的にはコマンドでやるほうがお手軽ですぐ終わるのでそちらが主流だと思うのだが、念のためRRASでの設定方法についても残しておく。

1.コマンドプロンプトで設定する

コマンドプロンプトで設定する場合は、以下のようにコマンドを実行すればよい。
指定されている「-p」オプションを付与することで、再起動後も設定を保持させる。

route -p add "宛先ネットワーク" mask "ネットワーク...

人間なので、時折IPアドレスの設定時に誤って重複したアドレスを振ってしまう、設定してしまうこともある(DHCPサーバの範囲内のアドレスで固定IP設定しちゃったりとか)。
そんな時すぐに気づければいいのだが、結構気づかずにそのままにしてしまって対象のホストのネットワークが不安定になった段階でようやく気付くこともあるだろう。

そんなときは、以下のいずれかの方法で重複したIPアドレスを調べて修復してやるといいだろう。

1.arpingで調べる

重複しているであろうIPアドレスに当たりがついている状態であれば、apringコマンドで確認ができる。
そのIPアドレスが重複している場合、返...


Proxmox VE 4.2でOVS(Open vSwitch)を使ってタグVLANの設定をする

Proxmox VE 4.2で、接続するLANケーブル1本でトランクポートにして、Proxmox側でそれぞれのVMに応じてアンタグさせる必要があったので、OVS(Open vSwitch)を設定してVLAN設定をしてみた。
とりあえず、今回は検証なので以下のような構成で考えている(検証なので、裏の管理コンソールは別にLAN刺してる)。トランクポートに設定した以外のスイッチで各VLANのアンタグをさせて、そこにクライアント刺すことでテストをする。

  • VLAN101 … 192.168.101.0/24
  • VLAN102 … 192.168.102.0/24
  • VLAN103 … 19...

pfSenseでウィルススキャン透過プロキシ(Squid+ClamAV)を設定する

職場でFortiGateのウィルスチェックWebフィルタリング機能を使っているのだけど、さすがにこれを家で使うのは難しい(有償のライセンス買わないといけないので…)。
で、何か似たようなものがオープンソースでないかな、と思って調べていたところ、ちょうど使用しているpfSenseでSquid+CalmAVを使ってその辺の設定ができそうだ。
というわけで、実際に設定してみることにする。

まずはSquid(+α)をpfSenseにインストールする。
Webコンソールから「[System] > [Package Manager] > [Available Packages]」を開き、Squi...


基本的にVyOS(Vyatta)を利用する場合は仮想基盤(ESXiとかKVM)上で動作させることが多いため、可用性とかはそちらに依存(HA化しときゃいいとか、とりあえずVMのバックアップをストレージに置いとけばいいとか、ハードウェアに依存しないからコンフィグさえあればどうとでもなるとか…)させることができるのだけど、時には仮想基盤に乗せず動かすこともあるだろう。また、ダウンタイムがあまり許容されないシステムの場合もある。

そんな時は予備機器を用意しておくのもいいが、VyOSではアクティブ・スタンバイ構成のクラスタを組んでダウンタイムを最小限に抑えることもできるようだ。
なお、クラスタ構成...


『addrwatch』でLAN内のIPアドレス・MACアドレスを監視する

調べもの中、「arpwatch」と似たような使い方ができるツール「addrwatch」というものを見かけたので、Ubuntu 14.04 LTSへインストールしてみることにした。

1.インストール

まずは、インストール前に前提となるパッケージ類をインストールしておく。

sdudo apt-get install autoconf pkg-config libpcap-dev libevent-dev libsqlite3-dev sqlite3

次に、Githubからソースをダウンロードしてコンパイルを行う。

git clone https://github.com/f...

時折、ポートなどの疎通確認のため、相手先のポートがちゃんと開いているかを確認したい時がある。
そんな時は、基本的にポートの疎通確認用のコマンドを利用するのだが、地味にBashからでも疎通確認を行うことができる。

exec 3<> /dev/tcp/相手先ホスト名/ポート番号 # TCP通信の場合
exec 3<> /dev/udp/相手先ホスト名/ポート番号 # UDP通信の場合

準備ができたら、以下のコマンドで...


Webベースのネットワーク機器の設定管理ツール「rConfig」を使ってみる

Webベースのネットワーク機器管理ツール「rConfig」なるものを見かけたので、試しにインストールして見ることにした。
なお、インストール先はCentOS 7には対応していないため、CentOS 6を用いる。

1.前提パッケージのインストール・設定

まずはrConfigの動作に前提となるパッケージをインストールする。
以下のコマンドを実行する。

yum -y install wget mlocate attr open-vm-tools httpd openssl-devel openssl mod_ssl vsftpd telnet bind-utils vixie-c...

Firewallに特化したOS「Untangle」をインストールする

今回は、「Untangle」というLinuxベースのファイアウォール用OSをインストールしてみる。
比較的軽量、かつWebコンソール経由での管理・運用ができるのが特徴らしい。こちらにデモもあるので、最初に触ってみると良いだろう。

なお、実際にファイアウォールのポリシー等を設定する場合、Untangle.comへのアカウント登録(無料)が必要になる。

1.インストール

まず、こちらからISOファイルをダウンロードしておく。
その後、ISOファイルをそのまま使うなり、ディスクに焼くなりしてインストールできる状態にしておく。

で、そのままインストール対象のマシンに入れ...


時折、どこかのノードで設定ファイルとか編集をしたら、自動的に同期して他のノードでも設定を変えて欲しい時がある。
台数が多ければAnsibleなどで設定ファイルを一括更新するが、2\~3台でそこまでするのもなぁ…というときは、Lsyncdを使って自動的に同期させると良いだろう。

Lsyncdは、inotify(Linuxに用意されている、ファイルの変更を検知する仕組み)で、変更を検知したと同時にrsyncでファイルを同期するデーモンツールだ。
比較的簡単に設定ができ、ファイルの削除や新規追加、変更でも同期を自動的に行ってくれる。もちろん、中身はrsyncなのでssh経由でのリモート同期も...


VyOSでホスト名の静的マッピングを行う

諸事情あって、自宅のVyOSにホスト名の静的マッピングを行いたくなったので、その方法について調べてみた。
で、ちゃんとそれ用のコマンドが用意されているようなので、使ってみる事にする。

set system static-host-mapping host-name ホスト名 inet IPアドレス

vyos@BN-RT01# cat /etc/hosts
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback...

pfSenseで国ごとのアクセス制限を実施する

この年末年始を利用して、自宅環境を一新するにあたりFWをpfSenseにしたのだけど、ログを見ると結構いろんな国からのアクセス…というかアタックがあるようだ。
あんまり変なとこから来られても困るので、国レベルでの接続制限を設定することにした。

1.『pfBlockerNG』のインストール

まずはpfSenseのWebUIにアクセスし、[System] > [Package] >[Available packages]と開き、『pfBlockerNG』の横にある+ボタンをクリックする。

次の画面で本当にインストールしていいかどうか確認を求められるので、「Confirm」をクリッ...


nc(Ncat)コマンドで覚えておきたい使い方3個(ncコマンドCentOS 7版)

前回も紹介したLinuxでポートの疎通確認を行う際によく用いるncコマンド。
実はこのコマンド、netcatではなくCentOS 7の場合だとnampプロジェクトのncatに置き換えられているのだ。

今後はncもこのncatコマンドに置き換えられている事になるので、このコマンドの使い方についても(あんま変わらんけど)紹介することにした。
なお、検証に使用したコマンドはCentOS 7に入れている"Ncat: Version 6.40 ( http://nmap.org/ncat )"とする。

[root@test-centos7 ~]# nc --version
Ncat:...

nc(netcat)コマンドで覚えておきたい使い方8個

Linuxでポートの疎通確認を行う際によく用いるncコマンド。
今回は、このncコマンドで覚えておきたい使い方についてまとめてみる事にする。

使用したのは、Ubuntu 14.04 LTSに入っている以下のもの。

test@test-vm-ubuntu:~$ nc --help
nc: invalid option -- '-'
This is nc from the netcat-openbsd package. An alternative nc is available
in the netcat-traditional package.
usage: nc [-46bCD...

Linuxサーバで、ミドルウェアインストール前にネットワークの疎通確認を行う場合、ncコマンドが入っていれば簡易的なTCP/UDPサーバを立ち上げてポートを開けて確認を行う事が出来る。

TCPの場合は、待受側で以下のようにコマンドを実行する。

nc -vkl ポート番号

UDPの場合、keepaliveオプションが無いため、catを使って無理やり受信を続けさせる。
そのため、待受側では以下のようにコマンドを実行する。

nc -e /bin/cat -kuvl ポート番号


tcpdumpコマンドといえば、WireSharkと同様にネットワーク上を走っているパケットを閲覧するためのプログラム(パケットキャプチャツール)として利用されているコマンドだ。 ネットワークの仕事をしている人なら、触っている人も多いのでは無いだろうか。

今回は、そんなtcpdumpコマンドで覚えておきたい使い方についてを紹介する。

1.基本的な使い方

基本的には、ただtcpdumpと打っただけでもコマンドを利用することは出来る。

tcpdump
test@test-vm-ubuntu:~$ sudo tcpdump
[sudo] password for test:
tc...

LAN内で使われているIPアドレスを調べる6つの方法(Linux/Windows)

今回は、LAN内で利用されているIPアドレスを調べる方法についてをまとめてみた。
環境によっては使用されているOSが複数ある場合がある(というか、その方が多い)ので、LinuxとWindowsで分けて記載する。

1.Linuxの場合

1-1.ping + arpで調べる

基本的なコマンドしかインストールされていない環境では、やはりpingとarpコマンドを組み合わせた方法が良く利用されるだろう。
以下のようにforコマンドと組み合わせて実行することで、IPアドレスとそれに対応するMACアドレスを取得することが出来る。

for a in `seq 1 254`; do pin...

LAN内で利用されているIPアドレスを常時監視して一覧を出力し続ける『netdiscover』コマンド

以前、LAN内のIPアドレスを高速に取得するコマンド『arp-scan』を紹介したが、今回紹介する『netdiscover』はその一覧の出力を常時行ってくれる。
新しいIPアドレス(MACアドレス)がLAN内に追加されると、一覧に追記されるという、ちょっと便利なコマンドだ。ペネトレーションテストで使われているOS『BackTrack』などにも入っている。

今回は、Ubuntu 14.04 LTSにこの『netdiscover』コマンドをインストールし、実際に使ってみる事にする。

1.インストール

まずはインストールから。以下のコマンドを実行する。

Debian/Ubuntuの

...
LAN内で利用されているIPアドレス・MACアドレスを監視する『arpwatch』

内部ネットワークでそれなりにセキュリティを考慮するならば、LANに接続する機器を把握・監視しておきたいものだろう。
そんな時に使えるのが、今回紹介する『arpwatch』コマンドだ。

デーモンとして起動させておく事で、LANネットワーク内に変動(新しいMACアドレスが認識されるなど)があった場合、メールでその旨を都度報告してくれる。
また、特定のファイルに現在のIPアドレスとMACアドレスの状態を出力してくれるので、現時点で利用されているIPアドレス一覧を取得することも可能となっている。

1.インストール

まずはインストールから。以下のコマンドでインストールを行う。

Deb

...
LAN内で利用されているIPアドレスを調べる『arp-scan』コマンド

あまり知らない環境で作業をする際、LAN内で稼働しているマシンの一覧が欲しくなる事もあるだろう。
そんなときに便利なのが、今回紹介する『arp-scan』コマンドだ。

このコマンドを実行することで、同じネットワークに所属して動作しているマシンのIPアドレスとMACアドレスの一覧を取得することができる。

1.インストール

まずはインストールから。
インターネットに接続している環境であれば、以下のコマンドを実行するだけだ。

Debian/Ubuntuの場合

apt-get install arp-scan

RHEL系の場合

yum install arp-scan
...
Linuxのpingコマンドで覚えておきたい使い方16個(+2個)

仕事でLinuxを利用していれば、必ずやお世話になるであろうpingコマンド。 しかし、大体の人はなんとなく使っていないだろうか?今回は、そんなpingコマンドで覚えておきたい使い方についてを紹介する。

1.基本的な使い方

まずは基本的な使い方…といっても、大体の人はわかるだろう。 以下のようにコマンドを実行する事で、相手先のホストが疎通可能な状態かを確認する。

ping 相手先のホスト名(IPアドレス)
test@ubuntu-server:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of d...

これはすごい!telnetで利用出来るサービス4個

リモートマシンに接続する際に利用されるTelnet、今ではあまり使われる事が無くなったが、今でも、いや今だからこそ?そんなTelnetで利用出来るサービスがまだ残っているようだ。
今回は、そんなサービスを4つほど紹介する。

1.TelnetでみるStarWars

以前こちらでも取り上げたものだが、telnetで接続すると同時にアスキーアートで作成されたStarWars Epsode IVが再生されるというもの。
telnetコマンドで、以下のように接続する。

telnet towel.blinkenlights.nl 23

telnetコマンドがない場合、こちらの...