computerの日記

Cisco,SHELL,C,Qt,C++,Linux,ネットワーク,Windows Scriptなどの発言です

DHCP-DNS DDNS-UPDATES について、実験をおこないました

DHCP-DNS DDNS-UPDATES について、実験をおこないました。

設定は、前のブログを基準としています。

トポロジと設定は、以下のようにしました。

ここで、右下の PC1 から、PC1> dhcp としたところ、172.16.100.10 が割り振られました。これは、DNS サーバで設定していた筆頭アドレスでした。

f:id:intrajp:20180611232414p:plain

パケットは、次のようなパケットになりました。

フィルタ文字列となります。

(udp.port == 53 || udp.port == 67) && !(icmp) && !(frame contains weather) && !(frame contains wpad) && !(ip.addr == 192.112.36.4) && !(ip.addr == 128.63.2.53) && !(ip.addr == 192.58.128.30) && !(ip.addr == 192.228.79.201) && !(ip.addr == 192.5.5.241) && !(ip.addr == 193.0.14.129) && !(ip.addr == 192.203.230.10)

f:id:intrajp:20180611232343p:plain

DNSサーバを確認すると、/var/named/data にジャーナルファイルができていました。
開いてみたら、バイナリファイルでした。
さて、この状態では、zone ファイルにはデータはアップデートできていません。
以下のページを読むと、しばらくすると反映されるようです。
--------
(参考)
https://ftp.isc.org/www/bind/arm95/Bv9ARM.ch04.html

Dynamic Update

The journal file

All changes made to a zone using dynamic update are stored in the zone's journal file.
This file is automatically created by the server when the first dynamic update takes place.
The name of the journal file is formed by appending the extension .jnl to the name of the
corresponding zone file unless specifically overridden. The journal file is in a binary
format and should not be edited manually.

The server will also occasionally write ("dump") the complete contents of the updated
zone to its zone file. This is not done immediately after each dynamic update, because
that would be too slow when a large zone is updated frequently. Instead, the dump is
delayed by up to 15 minutes, allowing additional updates to take place.
--------

一晩待ってみましたが、jnl ファイルの内容が反映してはいませんでした。

もう一度、PC1> dhcp を実行して、DNS サーバで service named restart とすると、反映されました(PC-11 のアドレスが 10 になっていました)。

Cisco IOU を使って、VLAN 100 と VLAN 200(異なるネットワーク)を複数のスイッチとルーターで繋ぐ実験

前回は、同一ネットワークで、同一 VLAN の実験をおこないました。

今回は、異なるネットワーク、すなわち、異なる VLAN のマシンを、IOU-L3 も使って、繋いでみます。

画像に設定を書いておきました。

f:id:intrajp:20180610143408p:plain

これで繋がりました。

(参考)

ルータを使用したVLAN間ルーティングとは

L2 switch add vlan - Google 検索

 

Cisco IOU を使って、VLAN 100 (同一ネットワーク)を複数のスイッチで繋ぐ実験

VLAN 100 を、複数のスイッチで繋ぐ実験

f:id:intrajp:20180610032748p:plain

 

IOU-L2-1,IOU-L2-2 ですが、何もしなくても、繋がりました。
これは、デフォルト VLAN 1 により、繋がっていると思います。

では、vlan 100 に収容しても、繋がるでしょうか。

まず、vlan 100 を作成します。

IOU-L2-1# conf t
IOU-L2-1(config)# vlan 100
IOU-L2-1(config-vlan)# name sales
IOU-L2-1(config-vlan)# exit
IOU-L2-1# show vlan
...(snip)...
100 sales active
...(snip)...

IOU-L2-2 でも同様に、vlan 100 を作成します。

では、fa1/1 を vlan100 のみにしてみます。

IOU-L2-1# conf t
IOU-L2-1(config)# interface e0/0
IOU-L2-1(config-if)# switchport access vlan 100
IOU-L2-1# show interfaces e0/0 switchport
...(snip)...
Access Mode VLAN: 100 (sales)
...(snip)...
IOU-L2-1# show vlan
...(snip)...
100 sales active Et0/0
...(snip)...

ping が通らなくなりました。

では、e0/1 を trunk にして、allowed vlan 100 を実行してみます。

IOU-L2-1# conf t
IOU-L2-1(config)# interface e0/1
IOU-L2-1(config-if)# switchport trunk enc dot1q
IOU-L2-1(config-if)# switchport mode trunk
IOU-L2-1(config-if)# switchport trunk allowed vlan 100
IOU-L2-1# show interfaces trunk で trunk port の確認もしましょう。
IOU-L2-1# copy run start

まだ繋がらないですね。

R2 でも同じようにします。

繋がりました。

これらの設定を保存しているので、次回起動した時にも繋がるかと思いきや、繋がらなかったです。
仮想イメージでは、Trunking の Negotiation Mode が、On となっています。
そして、これは変更できません。
なので、タイミングの話になると考えました。

一方のスイッチを停止して、しばらくおいてから再起動してみました。
もちろん、設定は同じです。

繋がりました。

タイミングの問題ですね。

実機ではこのようなことはおこらない、というか、desirable とかに設定すると思いますが。

Fedora28 で GNS3 環境を構築する

毎回忘れそうなので、メモします。

Fedora28 で GNS3 環境を構築してみます。

ソースパッケージをダウンロードします。
https://github.com/GNS3/gns3-gui/releases
今回は、以下のパッケージをダウンロードします。
gns3-gui-2.1.6.tar.gz
tar zxvf gns3-gui-2.1.6.tar.gz
cd gns3-gui-2.1.6
以下のファイルを読みます。
README.rst
ドキュメントが、WEB上にあるようですので、読んでみます。
https://gns3.com/support/docs/linux-installation
結局、コレみたいです。
要すれば、ソースからではなくて、rpm パッケージを入れることにします。
# dnf install gns3-server gns3-gui wireshark wireshark-qt
# dnf install qemu-kvm qemu-system-x86
# dnf copr enable athmane/gns3-extra
# dnf install vpcs dynamips
VirtualBox の最新版をインストールします。
動かなかったら、以下を実行します。
# dnf install kernel*
# dnf update kernel-devel
# /sbin/vboxconfig
エラーになったら、/var/log/vbox-install.log を確認します。
# dnf install elfutils-libelf-devel
# shutdown -r now
# /sbin/vboxconfig
それでもエラーになったら、以下を実行します。
# dnf update kernel*
# shutdown -r now
# /sbin/vboxconfig
dmesg を見ろ、というエラーになりました。
ここは、BOIS の設定で、「セキュアブート」をオフにします。
# /sbin/vboxconfig
うまくいきました。。
VirtualBox のネットワーク設定を、「未設定」にします。
project にいって、スタートボタンをクリックします。
# dnf install xterm

今回、ソースを見て rpm を入れたら、結局、2.1.5 となっていました。

では、pip3 install gns3-server==2.1.5 、pip3 install gns3-gui==2.1.5 とします。

同じバージョンの GNS3VM をダウンロードします。

Releases · GNS3/gns3-gui · GitHub

VirtualBox 版です。

したがって、Preferences の Host binding は、192.168.56.1 とします。

Port は、3080 TCP です。

Preferences の GNS VM も、適切に設定します。

メモリは、多く割り当てた方がいいかも。

この状態で、一度 gns3 とタイプして、立ち上げてみます。

緑色になっていれば良いです。

なお、IOS と IOU のイメージを加える場合は、「GNS VM 上で動かす」にチェックを入れないと、いけません。

Preferences では、Server が、/usr/local/bin/gns3server になっていればよいです。

iourc は、GNS3VM 上で作成して、ホストマシンに持って来て、それを取り込みます。GNS3VM で、sudo apt-get update すると、python-minimal がインストールできます。それで、iourc を generate します。

これで、謎のエラーが出ることなく、最新のバイナリで、IOU も IOS も立ち上がりました。

DHCP-DNS 関連

DDNS の実験をしていました。

環境は、VirtualBox で、GNS3 上で実験です。

DHCPサーバが割り振ったIPアドレスをもとに、DNSサーバに設定を書いていくものです。

 配役は、こんな感じです。

DHCP: 192.168.100.1

DNS:192.168.100.2

PC:0.0.0.0

--------

まず、DHCP サーバです。

今回は、ISC-DHCP の、4.1-ESV-R15 をチェックアウトしました。

別の環境(CentOS6.9)に移して、./configure ; make ; make install しました。

バイナリは、/usr/local/sbin/dhcpd です。

dhcpd.conf は、/usr/share 以下に存在しているファイルをコピーして、適当に作成します。

続きを読む

pagure で pull request してみる

Fedorafedora-kickstartとうところで、作業した記録。

修正して、upstream に pull_request を送る方法

1年前にFedoraに貢献していたんですが、そのやり方を忘れていたので備忘録となります。

前提として、upstream/master は、fork されているものとします。

pagure で、自分の fork されたページを表示させておきます。

upstream が設定されているものとします。

$ git remote -v

されていなかったら設定します。

$ git remote add upstream https://pagure.io/fedora-kickstarts.git

upstream の修正を取り込む

$ git fetch upstream
$ git checkout -b fix-lxde-ja upstream/master

この上で、修正しました。今回は、l10n/fedora-livecd-lxde-ja_JP.ks を修正したものとします。

$ git add l10n/fedora-livecd-lxde-ja_JP.ks
$ git commit
$ git push -u origin fix-lxde-ja

web に行って、NEW PR ボタンをクリックする。
create をクリックする。
Merge されるのを待ちましょう。

(参考)
https://docs.pagure.org/pagure/usage/forks.html
https://docs.pagure.org/docs-fp-o/pull_requests.html

 

sar-analyzer の開発状況(20180504)

お疲れさまです。

sar-analyzer ですが、コードの最適化を行いました。

ビットパターンに、それぞれの項目を当てはめました。

今までは、それぞれの項目に int で宣言した変数を割り当てていたので、無駄を排除できたかなと考えています。