新規記事の投稿を行うことで、非表示にすることが可能です。
2016年03月17日
RHEL6.4でresolv.confが書き換わる件
この記事の
環境構築中に遭遇した事象の備忘録。
DNSサーバの参照先を変更しようとして、viエディタで/etc/resolv.confを直接編集。
編集後は、問題なく反映されていたが、osリブート後に設定が元に戻って(書き換わって)しまう。
http://mrs.suzu841.com/mini_memo/numero_21.html
参照URLの方の事象とほぼ酷似。
自分の環境の状態はというと、下記の通り。
・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1が設定されている。
・NetworkManagerは起動していない
以下のとおり対応した。
・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1を削除
・network restart
・vi /etc/resolv.confを編集
・OSリブート
・ /etc/resolv.confがOSリブート前の状態であることを確認
・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1を削除
・network restart
・vi /etc/resolv.confを編集する(編集後は下記)
・OSリブート
・ /etc/resolv.confがOSリブート前の状態であることを確認
環境構築中に遭遇した事象の備忘録。
遭遇した事象
DNSサーバの参照先を変更しようとして、viエディタで/etc/resolv.confを直接編集。
編集後は、問題なく反映されていたが、osリブート後に設定が元に戻って(書き換わって)しまう。
編集前
[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.1
[root@mx-ns ~]#
vi エディタで編集後
[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.21
[root@mx-ns ~]#
OSリブート後
[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.1
[root@mx-ns ~]#
参照URL
http://mrs.suzu841.com/mini_memo/numero_21.html
環境の状態
参照URLの方の事象とほぼ酷似。
自分の環境の状態はというと、下記の通り。
・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1が設定されている。
DEVICE=eth0
TYPE=Ethernet
UUID=a31cbd35-6ff3-456c-ad14-2e2a765e9e9a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:15:5D:03:04:05
IPADDR=192.168.3.21
PREFIX=24
GATEWAY=192.168.3.1d
DNS1=192.168.3.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
・NetworkManagerは起動していない
[root@mx-ns network-scripts]# chkconfig --list NetworkManager
サービス NetworkManager に関する情報の読み込み中にエラーが発生しました: そのようなファイルやディレクトリはありません
[root@mx-ns network-scripts]#
対応方法
以下のとおり対応した。
・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1を削除
・network restart
・vi /etc/resolv.confを編集
・OSリブート
・ /etc/resolv.confがOSリブート前の状態であることを確認
・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1を削除
[root@mx-ns network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=a31cbd35-6ff3-456c-ad14-2e2a765e9e9a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:15:5D:03:04:05
IPADDR=192.168.3.21
PREFIX=24
GATEWAY=192.168.3.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
[root@mx-ns network-scripts]#
・network restart
[root@mx-ns network-scripts]# service network restart
インターフェース eth0 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: Determining if ip address 192.168.3.21 is already in use for device eth0...
[ OK ]
[root@mx-ns network-scripts]#
・vi /etc/resolv.confを編集する(編集後は下記)
[root@mx-ns network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.21
search simalab.com
[root@mx-ns network-scripts]#
・OSリブート
[root@mx-ns network-scripts]# reboot
・ /etc/resolv.confがOSリブート前の状態であることを確認
[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.21
search simalab.com
[root@mx-ns ~]#
タグ:OS
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
2016年03月13日
RedHatEnterpriseLinux6.4インストール(on LVM)
会社で、メールサーバやDNSサーバなどの諸々の
検証を行う必要が生じたため、その検証環境を用意するために、
RedHatEnterpriseLinuxのインストールをLVMの構成で行ってみる。
なお、検証のターゲット環境は、本番環境に合わせてRedHatEnterpriseLinux6.4を使用する。
yumなどを実施するため、OSのメディアと評価用ライセンス(30日間)の取得を行う。
[RHEL6.4サブスクリプション取得・OSダウンロード手順]
https://drive.google.com/file/d/0B2yjG8delT8WLURHR1dGcUNzbU0/view?usp=sharing
OSのインストールにあたり、下記のパーティションを設定する。
[RHEL6.4インストール手順]
https://drive.google.com/file/d/0B2yjG8delT8WajNJcXJEdUZPZTg/view?usp=sharing
この後、yumなどを使用するため、「rhn_registerコマンド」でRedHatNetwork上に、
対象システムを認識させる。
[rhn_registerコマンド実行手順]
https://drive.google.com/file/d/0B2yjG8delT8WMURVN3hPNjE4U3M/view?usp=sharing
検証環境のため、セキュリティを緩和するため、SELisxを無効化する。
検証環境のため、セキュリティを緩和するため、ファイアーウォールも無効化する。
検証を行う必要が生じたため、その検証環境を用意するために、
RedHatEnterpriseLinuxのインストールをLVMの構成で行ってみる。
なお、検証のターゲット環境は、本番環境に合わせてRedHatEnterpriseLinux6.4を使用する。
サブスクリプション・OSダウンロード
yumなどを実施するため、OSのメディアと評価用ライセンス(30日間)の取得を行う。
[RHEL6.4サブスクリプション取得・OSダウンロード手順]
https://drive.google.com/file/d/0B2yjG8delT8WLURHR1dGcUNzbU0/view?usp=sharing
OSインストール
OSのインストールにあたり、下記のパーティションを設定する。
- swap(非LVM)
- /(LVM)
- /var(LVM)
- /boot(LVM)
[RHEL6.4インストール手順]
https://drive.google.com/file/d/0B2yjG8delT8WajNJcXJEdUZPZTg/view?usp=sharing
rhn_registerコマンド実行
この後、yumなどを使用するため、「rhn_registerコマンド」でRedHatNetwork上に、
対象システムを認識させる。
[rhn_registerコマンド実行手順]
https://drive.google.com/file/d/0B2yjG8delT8WMURVN3hPNjE4U3M/view?usp=sharing
SELinux無効化
検証環境のため、セキュリティを緩和するため、SELisxを無効化する。
[root@mx-ns ~]# vi /etc/selinux/config
#下記に変更
SELINUX=disabled
[root@mx-ns ~]# 再起動実施
[root@mx-ns ~]# reboot
[root@mx-ns ~]# 再起動後確認
[root@mx-ns ~]# getenforce
Disabled
[root@mx-ns ~]#
ファイアーウォール無効化
検証環境のため、セキュリティを緩和するため、ファイアーウォールも無効化する。
[root@mx-ns ~]# service iptables stop
iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ]
iptables: ファイアウォールルールを消去中: [ OK ]
iptables: モジュールを取り外し中: [ OK ]
[root@mx-ns ~]#
[root@mx-ns ~]# chkconfig iptables off
[root@mx-ns ~]# chkconfig --list iptables
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@mx-ns ~]#
タグ:OS
2016年03月12日
若者よ、外資系はいいぞ
コンビニで、本書が目に留まり、思わず購入。
著書は、インテルなどでキャリアを築いた方で、
タイトルからは、外資系企業はいいぞ、日本企業はけしからんという
内容を想像するが、内容はそういった単純な二元論ではなく、
それぞれの企業の背後にある組織の考え方や果ては、人生論にまで及び、
価格、ボリュームに比して、なかなかの読み応え。
特に個人的に良いと思ったのは、外資系のもつチーム観の記述箇所で、
これを読んで、思い出したのが、イチローのチーム観だ。
イチローのチーム観がとかく、個人主義として受け取られる傾向にあるが、
個人的には、下記のようなイチローのチーム観は大好きだ。
・イチロー
http://systemincome.com/14898
本田圭佑も、イチローに近いチーム観のようで、
チームの前に「個」があるというメンタリティーは、共通のものなのだろう。
・本田圭佑
http://blogs.yahoo.co.jp/nonakajun/62651157.html
以前、読んだ下記の本にも、「協調性」について、下記の通り、記載されている。
それぞれ、分野の違いはあれど、何かを成し遂げた人には、共通したチーム観が
根底にあるのだろう。
著書は、インテルなどでキャリアを築いた方で、
タイトルからは、外資系企業はいいぞ、日本企業はけしからんという
内容を想像するが、内容はそういった単純な二元論ではなく、
それぞれの企業の背後にある組織の考え方や果ては、人生論にまで及び、
価格、ボリュームに比して、なかなかの読み応え。
特に個人的に良いと思ったのは、外資系のもつチーム観の記述箇所で、
外資系では、個人が自分の能力を発揮することで、組織が動いていく。外資系企業でも、日本企業でも組織の目的はビジネスで勝つことで同じだが、組織を構成するプレーヤーに対する期待には大きな違いがある。外資系では、働く人は与えられた役割で、能力を発揮できる個人であることが大前提で、経営陣、プレーヤーが個々人の能力をチームの成果につなげるように協力し合って組織作りをする。
一方、日本企業では、働く人はまず良きチームプレーヤーであることが求められ、個人は集団との一体感と貢献にやりがいを見出す。その結果、外資系では、能力を持った個人が作り上げられていくのに対して、日本企業では、組織のルールと暗黙の了解の下で成果をだせる組織固有の人材が育てられる。
※もちろん、本書では、上記の解釈をすべての一般論とすることは否定しているので誤解なきよう。
一方、日本企業では、働く人はまず良きチームプレーヤーであることが求められ、個人は集団との一体感と貢献にやりがいを見出す。その結果、外資系では、能力を持った個人が作り上げられていくのに対して、日本企業では、組織のルールと暗黙の了解の下で成果をだせる組織固有の人材が育てられる。
※もちろん、本書では、上記の解釈をすべての一般論とすることは否定しているので誤解なきよう。
これを読んで、思い出したのが、イチローのチーム観だ。
イチローのチーム観がとかく、個人主義として受け取られる傾向にあるが、
個人的には、下記のようなイチローのチーム観は大好きだ。
・イチロー
http://systemincome.com/14898
強いチームというのは、個人があってチームがあると思うんです。個々が持っている力を発揮して、役割をはたして、それが結果としてチームとしての力となる。でも、弱いチームは、個々が持っている力を発揮されない。だから勝てない。「チームのために」という言葉でごまかして個人の力を発揮できないことへの言い訳を探す、そうしたらもっと勝てなくなる。悪循環ですよね
本田圭佑も、イチローに近いチーム観のようで、
チームの前に「個」があるというメンタリティーは、共通のものなのだろう。
・本田圭佑
http://blogs.yahoo.co.jp/nonakajun/62651157.html
シンプルに言えば個だと思います。(中略)結局、
最後は個の力で試合が決することがほとんどなので。日本のストロングポイントはチームワークですが、
それは生まれ持った能力なので、どうやって自立した選手になって個を高められるかというところです。
最後は個の力で試合が決することがほとんどなので。日本のストロングポイントはチームワークですが、
それは生まれ持った能力なので、どうやって自立した選手になって個を高められるかというところです。
以前、読んだ下記の本にも、「協調性」について、下記の通り、記載されている。
伸びる人には、協調性があります。
仕事の場において、協調性があるということはみんなと仲良くできるということではありません。仲良くするのはいいことですが、それだけでは、ただの仲良しクラブです。
協調性があるということは、複数の技術者が、それぞれ割り当てられている独立した職務と役割を果たし、かつ他の技術者と連携を取りながら仕事を進めることができるということです。
仕事の場において、協調性があるということはみんなと仲良くできるということではありません。仲良くするのはいいことですが、それだけでは、ただの仲良しクラブです。
協調性があるということは、複数の技術者が、それぞれ割り当てられている独立した職務と役割を果たし、かつ他の技術者と連携を取りながら仕事を進めることができるということです。
それぞれ、分野の違いはあれど、何かを成し遂げた人には、共通したチーム観が
根底にあるのだろう。
2016年03月10日
ruby on rails(4.1.0)環境構築をやってみた
職場でちょっとした運用ツールを開発したい思い、
いまさらながらruby on railsのお勉強。
まずは、勉強の素材を探しに、本屋へ。いろいろ読んだ結果、下記を購入。
いままで、PHPをメインに開発していたが、小生Ruby on railsの初心者だが、とりあえず、環境構築からトライする。
普段使っている自宅の開発環境に予め、下記がインストールされていたので、この環境からの構築を始めた。
購入した書籍が4.1.0ベースの解説だったので、4.1.0のバージョン指定で、インストールしてみた。
下記の通り、バージョン指定で、インストールしたが・・・
長い・・
PHPの開発になれているものにとっては、これが衝撃。ひたすらインストールが終わるのを待つ。
終わるときはこんな感じ。
ただ、後に知ったが、下記の通り、ドキュメントを入れないオプションを入れなければ、
劇的に早いらしいので、次回はこちらのオプションを使うことにしよう。
http://qiita.com/ginpei/items/49f2c749c2b12098718e
とりあえす、/var配下に登録することを前提に、下記を実行。
IPアドレス管理ツールを作成する予定なので、アプリケーション名「ip_manage 」とした。
また、DBをmysqlに指定。
パスワードを直書きすることは推奨されないことはわかっているものの、とりあえず、ここはパスワード直書きで編集
下記で、DBを作成した。
下記のエラーが発生。(ここからがカオス状態のスタート)
「rails server で There was an error while trying to load the gem 'uglifier'.と言われる解決方法。」を参考に、
http://qiita.com/pugiemonn/items/11a2bc8403e5947a8f13
下記を実行。
再度、下記で、DB作成
今度は、下記のエラーが発生。
文字通り、「mysql2」がインストールされていないという初歩的なミスを犯していたので、
下記の通り、インストール。
インストール確認。
再度、下記で、DB作成
引き続き、下記のエラーが発生。
[Rails mysql2でrake db:createがエラー問題]を参考に、
http://qiita.com/shizuma/items/0f9660d5d46a0012eb9e
まずは、バージョンの低い、mysql2をインストール
その後、Gemfileを下記の通り、編集。
再度、下記で、DB作成
やっとエラーが解消!
mysql上もデータベースが作成されたことを確認
http://railsが稼働する:3000/にアクセスし、下記が表示されていることを確認する。
やっと環境構築完了(と思われる)
いまさらながらruby on railsのお勉強。
まずは、勉強の素材を探しに、本屋へ。いろいろ読んだ結果、下記を購入。
いままで、PHPをメインに開発していたが、小生Ruby on railsの初心者だが、とりあえず、環境構築からトライする。
構築前時点で環境
普段使っている自宅の開発環境に予め、下記がインストールされていたので、この環境からの構築を始めた。
- OS:CentOS6.4
- ruby 2.1.2p95
- mysql-5.1.69-1
ruby on rails4.1.0インストール
購入した書籍が4.1.0ベースの解説だったので、4.1.0のバージョン指定で、インストールしてみた。
下記の通り、バージョン指定で、インストールしたが・・・
gem install rails --version="4.1.0"
長い・・
PHPの開発になれているものにとっては、これが衝撃。ひたすらインストールが終わるのを待つ。
終わるときはこんな感じ。
〜略〜
Installing ri documentation for tzinfo-1.2.2
Done installing documentation for actionmailer, actionpack, actionview, activemodel, activerecord, activesupport, arel, builder, bundler, concurrent-ruby, i18n, mail, minitest, polyglot, rack, rack-test, rails, railties, sprockets, sprockets-rails, thread_safe, treetop, tzinfo after 1270 seconds
23 gems installed
ただ、後に知ったが、下記の通り、ドキュメントを入れないオプションを入れなければ、
劇的に早いらしいので、次回はこちらのオプションを使うことにしよう。
http://qiita.com/ginpei/items/49f2c749c2b12098718e
gem install rails ---no-ri --no-rdoc
railsアプリの登録
とりあえす、/var配下に登録することを前提に、下記を実行。
IPアドレス管理ツールを作成する予定なので、アプリケーション名「ip_manage 」とした。
また、DBをmysqlに指定。
[root@Linux ~]# cd /var/
[root@Linux var]# rails new ip_manage -d mysql
DB設定ファイル編集
[root@Linux config]# cd config
[root@Linux config]# ls
application.rb database.yml environments locales secrets.yml
boot.rb environment.rb initializers routes.rb
[root@Linux config]# vi database.yml
パスワードを直書きすることは推奨されないことはわかっているものの、とりあえず、ここはパスワード直書きで編集
#
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: パスワード直書き
DBの作成
下記で、DBを作成した。
# rake db:create
下記のエラーが発生。(ここからがカオス状態のスタート)
rake aborted!
Bundler::GemRequireError: There was an error while trying to load the gem 'uglifier'.
「rails server で There was an error while trying to load the gem 'uglifier'.と言われる解決方法。」を参考に、
http://qiita.com/pugiemonn/items/11a2bc8403e5947a8f13
下記を実行。
#vi /var/ip_manage/Gemfile
gem 'therubyracer', platforms: :ruby ※先頭のコメント外す
再度、下記で、DB作成
# rake db:create
今度は、下記のエラーが発生。
Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your
Gemfile (and ensure its version is at the minimum required by ActiveRecord).
文字通り、「mysql2」がインストールされていないという初歩的なミスを犯していたので、
下記の通り、インストール。
[root@Linux config]# gem install mysql2
インストール確認。
[root@Linux config]# gem search --local mysql2
*** LOCAL GEMS ***
mysql2 (0.4.3)
[root@Linux config]#
再度、下記で、DB作成
# rake db:create
引き続き、下記のエラーが発生。
Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your
Gemfile (and ensure its version is at the minimum required by ActiveRecord).
[Rails mysql2でrake db:createがエラー問題]を参考に、
http://qiita.com/shizuma/items/0f9660d5d46a0012eb9e
まずは、バージョンの低い、mysql2をインストール
[root@Linux config]# gem install mysql2 -v '0.3.20'
その後、Gemfileを下記の通り、編集。
[root@Linux config]# vi /var/ip_manage/Gemfile
gem 'mysql2', '~> 0.3.20'※左記のように書き換える
再度、下記で、DB作成
[root@Linux config]# rake db:create
(in /var/ip_manage)
[root@Linux config]#
やっとエラーが解消!
mysql上もデータベースが作成されたことを確認
mysql> show databases;
+-----------------------+
| Database |
+-----------------------+
| ip_manage_development |
+-----------------------+
Railsの起動
[root@Linux config]# rails s
=> Booting WEBrick
=> Rails 4.1.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
[2016-03-06 17:41:55] INFO WEBrick 1.3.1
[2016-03-06 17:41:55] INFO ruby 2.1.2 (2014-05-08) [i686-linux]
[2016-03-06 17:41:55] INFO WEBrick::HTTPServer#start: pid=7407 port=3000
http://railsが稼働する:3000/にアクセスし、下記が表示されていることを確認する。
やっと環境構築完了(と思われる)
2016年03月09日
DNSのSPFレコードについてあらためて学習してみた
DNSのSPFレコードとは
SPFは、メール送信における送信元ドメインの偽装を防ぐための
技術(送信ドメイン認証)。迷惑メールは、送信元ドメインを偽装していることが
多く、偽装されたドメインとそれを所有する組織は、SPAMメールの送信に当たっては、
あてずっぽうなメールアドレス宛に大量に送信するといったことがよく行われ、
その場合には、大量のエラーメールがSPAMメールを送信したサーバではなく、
偽装されたドメイン側に返送されることになる。
このような事態を防止するために、SPFを利用して、送信元ドメインをの偽装を
防ぐ。これらは迷惑メール対策の一環ではあるが、ドメイン偽装メール対策というのが
より適切な見方で、受信側への気配りとしてもSPFを登録することが推奨される。
SPFは、メールの送信を許可(または禁止)しているサーバのリストをDNSで公開し、
受信サーバ側メールサーバでそのリストを確認して、正当なメールサーバからの
メールかどうか判断する仕組み。
偽装されたメールの場合
SPFを使うとできること
SPFレコードを理解する
SPFレコードはドメイン名をレコード名とするTXTレコードとして公開する。
ゾーンファイルの記述例。
example.com. IN TXT "v=spf1 +ip4:100.AAA.0.1 +ip4:200.BBB.0.1 ~all"
SPFレコードの各項目は、空白で区切られ、上記例では、次の4つに分けられる。
- v=spf1
- +ip4:100.AAA.0.1
- +ipv4:200.BBB.0.1
- ~all
最初の部分(v=spf1)は、どのバージョンのSPFを使っているかを相手に伝える。
それ以降の各部(+ipv4:100.AAA.0.1 +ipv4:200.BBB.0.1 ~all)で、サーバのIPアドレスと
そのサーバに対する許可、禁止を記述していく。この各部分を「ディレクティブ」と呼ぶ。
SPFレコードで記述できる内容の一部
クオリファイア(許可/禁止を示す)
表記 | 内容 |
---|---|
+ | 許可 |
- | 指定なし |
~ | 禁止(ソフトフェイル) |
- | 禁止(ハードフェイル「~よりも強い禁止」) |
メカニズム(対象IPアドレスを示す)
表記 | 内容 |
---|---|
100.AAA.0.1 | 100.AAA.0.1というIPアドレス |
200.BBB.0.1 | 200.BBB.0.1というIPアドレス |
all | すべてのIPアドレス |
ディレクティブの記述順序と意味
「~all」自体の意味は、「すべてのIPアドレスからのメール送信は、許可されていない」という意味。
受信側メールサーバはSPFレコードに基づいて、処理を行う際、左側に書かれているディレクティブほど優先
される。基本的には、許可されているものすべて書いた後、~allまたは、-allというディレクティブを右に記載する。
受信側メールサーバの処理
送信者のメールアドレスがuser@example.comだったとして、
- 送信者のメールアドレスからドメインを取り出す(@example.com)
- example.comという名前のTXTレコード(SPFレコード)を問い合わせ、結果を得る。レコードが存在しなければ、検証を打ち切りそのまま配送する。
- SPFレコードの内容とメール送信元IPアドレスを照合し、正当なメールサーバからかどうかを検証する。
- 判断に基づいて、判断結果を表すヘッダを付け加えて届ける、届けずに破棄する、などの処理を行う。
クオリファイア
この部分は、省略可能で、省略した場合は、「+」を指定したものとみなされる。「?」を指定した場合は、判断をせずにメールを届ける。これは、SPFレコードが存在しない場合と同じ。禁止については、主にallと組み合わせて「それ以外のものは禁止」を表すために使用する。2種類ある禁止の使い分けとしては、実施にメールアドレスに使われているドメインについては、「~」を指定し、絶対に使用されていないドメインについては、「-」を使用するとよい。
メカニズム
メカニズムは、すでにIPアドレスの直接指定(ip4)と、指定された以外のすべてのIPアドレス(all)以外に、Aレコード、MXレコード、PTRレコードなどが指定可能。
・Aレコードによる指定
送信者メールアドレスからドメイン名(@より後)を取り出し、そのドメインのAレコードの値(IPアドレス)得て、そのIPアドレスを送信者側IPアドレスと比較する。
・MXレコードによる指定
送信者メールアドレスからドメイン名(@より後)を取り出し、そのドメインのMXレコードの値を得て、そのホスト名のAレコードを引き、これによって得たIPアドレスを送信者側IPアドレスと比較する。
・PTRレコードによる指定
送信者メールアドレスを逆引きし、ホスト名を得て、そのホスト名と送信者側IPアドレスとを比較する。
レコードの例
表記 | 内容 |
---|---|
Aレコード | "v=spf1 +a ~all" |
mxレコード | "v=spf1 +mx~all" |
PTRレコード | "v=spf1 +ptr ~all" |
組み合わせ | "v=spf1 +a +mx +ipv:x.x.x.x ~all" |
ドメインの指定
a,mx,ptrの後ろに「:ドメイン」を付け加えると、送信者メールアドレスドメインの代わりにそのドメインが使用される。
ドメイン | 意味 |
---|---|
a | ドメイン名のAレコードの値(IPアドレス)を得て、そのIPアドレスを送信側IPアドレスと比較する。 |
mx | ドメイン名のMXレコードの値(IPアドレス)を得て、そのIPアドレスを送信側IPアドレスと比較する。 |
ptr | ドメイン名のPTRレコードの値(IPアドレス)を得て、そのIPアドレスを送信側IPアドレスと比較する。 |
・Aレコードとの組み合わせ
+a:example.com
・MXレコードとの組み合わせ
+mx:example.com
・PTRレコードとの組み合わせ
+ptr:example.com
ネットマスクの指定
・IPアドレス + ネットマスク(先頭30ビットと一致すれば許可
+ip4:100.AA.0.0/30
・送信元ドメイン名のAレコードのIPアドレスの先頭30ビットが送信元IPアドレスの先頭30ビットに一致すれば許可
+a/30
そのほかの設定例
・メールを一切送信しないドメインの場合
example.com. IN TXT "v=spf1 -all"
・送信専用のSMTPサーバ(MSA)と受信用SMTPサーバ(MX)からのエラーメールを許可する場合
example.com. IN TXT "v=spf1 +a:msa.example.com +mx ~all"
SPFレコードのテスト
$dig @DNSサーバのIPアドレス example.com TXT
参考文献
2016年02月14日
BIG-IP VEの学習@(VmwareEsxi5.1デプロイ)
前回に続き、
BIG-IP VEについての学習記録。
まず、こちらより、F5ネットワークスのログインアカウントを作成する。
https://login.f5.com/resource/registerEmail.jsp
その後、アクティベーションを取得する画面で、
アクティベーションコード(最大の4つ)を取得し、
「BIGIP-11.3.0.39.0-scsi.ova」をダウンロードする。
ダウンロードした「BIGIP-11.3.0.39.0-scsi.ova」を
VmwareEsxi5.1へのデプロイした際の検証手順は、
下記の通り。
[BIG-IP VirtualEdition〜@.VmwareEsxi5.1デプロイ編〜]
https://drive.google.com/file/d/0B2yjG8delT8WOGZlQXNJaEx2eWs/view?usp=sharing
BIG-IP VEについての学習記録。
まず、こちらより、F5ネットワークスのログインアカウントを作成する。
https://login.f5.com/resource/registerEmail.jsp
その後、アクティベーションを取得する画面で、
アクティベーションコード(最大の4つ)を取得し、
「BIGIP-11.3.0.39.0-scsi.ova」をダウンロードする。
ダウンロードした「BIGIP-11.3.0.39.0-scsi.ova」を
VmwareEsxi5.1へのデプロイした際の検証手順は、
下記の通り。
[BIG-IP VirtualEdition〜@.VmwareEsxi5.1デプロイ編〜]
https://drive.google.com/file/d/0B2yjG8delT8WOGZlQXNJaEx2eWs/view?usp=sharing
タグ:ネットワーク
BIG-IP VEの学習書籍購入
仕事でBIG-IPを使用するので、改めてお勉強。
以前、VMWarePlayerを使用して、BIGIP-10.1.0 VirtualEdirionを
勉強したことはあったが、環境も進化しているので、
今回は、BIGIP-11.3.0VirtualEdirionを使用して学習することにした。
まず、体系的に書籍で勉強ということで、BIG-IPVer10の内容ではあるものの、
日本語書籍だとが下記が一番良いのは間違いないので、購入。
出版社に在庫がないというので、はじめてペーパーバックの形式のものをAmazonから購入した。
ペーパーバック形式がどんなものか、少し不安だったが、
着いてみたら、印刷の粗さは多少あるものの、出版社発行物と
遜色はなく、それでいて、値段も多少割引されているので、購入して正解。
出版社発行物と違い、環境構築を支援するためのCD−ROMの付属はないが、
それらは、自分で検証しながら、補足で構築すればよい。
以前、VMWarePlayerを使用して、BIGIP-10.1.0 VirtualEdirionを
勉強したことはあったが、環境も進化しているので、
今回は、BIGIP-11.3.0VirtualEdirionを使用して学習することにした。
まず、体系的に書籍で勉強ということで、BIG-IPVer10の内容ではあるものの、
日本語書籍だとが下記が一番良いのは間違いないので、購入。
出版社に在庫がないというので、はじめてペーパーバックの形式のものをAmazonから購入した。
ペーパーバック形式がどんなものか、少し不安だったが、
着いてみたら、印刷の粗さは多少あるものの、出版社発行物と
遜色はなく、それでいて、値段も多少割引されているので、購入して正解。
出版社発行物と違い、環境構築を支援するためのCD−ROMの付属はないが、
それらは、自分で検証しながら、補足で構築すればよい。
清原逮捕に思う
清原逮捕という衝撃は、自分なんかのアラフォー世代の元野球少年には、
計り知れないほどの出来事で、一つの時代が終わったともいえるものだ。
野村克也や広岡達郎が「清原は上司に恵まれなかった」といった記事を見た。
それが正しいかどうかまでは、わからないが、清原の野球選手としの
資質や将来性を、入団当時から一貫して厳しく、時には優しい目で
見てきた人といえば、落合博満だと思う。
落合自身、PL学園時代の清原を絶賛し、自らの後継者として
清原を認めていたことはいろいろな書籍などで確認でき、
それらの書籍に書かれている「打者清原評」は非常に説得力があるものだ。
しかし、清原は主要打撃タイトルを取ることはできず、引退。
その引退特集の雑誌「Number」での落合のコメントが
今となっては、とにかくしみる。
清原和博という長嶋茂雄にもなれた逸材の逮捕は、
ただただ悲しいものだ。
計り知れないほどの出来事で、一つの時代が終わったともいえるものだ。
野村克也や広岡達郎が「清原は上司に恵まれなかった」といった記事を見た。
それが正しいかどうかまでは、わからないが、清原の野球選手としの
資質や将来性を、入団当時から一貫して厳しく、時には優しい目で
見てきた人といえば、落合博満だと思う。
落合自身、PL学園時代の清原を絶賛し、自らの後継者として
清原を認めていたことはいろいろな書籍などで確認でき、
それらの書籍に書かれている「打者清原評」は非常に説得力があるものだ。
その引退特集の雑誌「Number」での落合のコメントが
今となっては、とにかくしみる。
「今までもっとできるのになと思うヤツをいっぱい見てきた。一番もったいないと思ったのは清原だよ。今の中田と一緒だ。普通にやっていればこれだけ勝てるというのを自分から捨てたんだ。レベルアップするのにも段階を踏んでいかないといけないんだよ。
巨人にきて1、2年目にあいつを見て、これは苦労するだろうなと思った。誰が吹き込んだんだろうな。いいものが崩れるのは簡単だよ。でも、元に戻すのは難しいんだ」
巨人にFA移籍して1年目の97年、落合の目には清原が本塁打を求めるあまり、
広角に打てる技術を発揮できていないと映っていた。では落合は清原に何を望むのか。
清原を語る時、いつも最後に付け加える言葉がある。
「まわりが悪いんだよ・・・」
「俺はな。職人なんだよ。野球をとことん突き詰めたいんだ。でも、この世界にはとくに知りもしないのに野球を食い物にしようとする政治家みたいな連中がいる。そういうやつらには負けたくない」
落合は清原にも職人でいてほしかったのだ。
巨人にきて1、2年目にあいつを見て、これは苦労するだろうなと思った。誰が吹き込んだんだろうな。いいものが崩れるのは簡単だよ。でも、元に戻すのは難しいんだ」
巨人にFA移籍して1年目の97年、落合の目には清原が本塁打を求めるあまり、
広角に打てる技術を発揮できていないと映っていた。では落合は清原に何を望むのか。
清原を語る時、いつも最後に付け加える言葉がある。
「まわりが悪いんだよ・・・」
「俺はな。職人なんだよ。野球をとことん突き詰めたいんだ。でも、この世界にはとくに知りもしないのに野球を食い物にしようとする政治家みたいな連中がいる。そういうやつらには負けたくない」
落合は清原にも職人でいてほしかったのだ。
清原和博という長嶋茂雄にもなれた逸材の逮捕は、
ただただ悲しいものだ。
タグ:野球
2016年02月09日
AdremNetCrunchのマイナーバージョンアップ
前回のsFlow・NetFlow監視の不具合発覚を受けて、
「NetCrunch8.7.1.3450」⇒「NetCrunch8.7.3.3472」のマイナーバージョンアップを行い、検証を行う。
基本的には、下記のドキュメントの
http://www.johokobo.co.jp/download/NetCrunch8_Installation_Manual.pdf
「 6.2 マイナーバージョンアップの手順」に
従い、「NetCrunch8.7.1.3450」⇒「NetCrunch8.7.3.3472」の
マイナーバージョンアップを行い、シュミレータを通してだが、
監視ができることを確認した。
その際の検証した手順は下記の通り。
https://drive.google.com/file/d/0B2yjG8delT8WblVZNnhRTUwwTUE/view?usp=sharing
「NetCrunch8.7.1.3450」⇒「NetCrunch8.7.3.3472」のマイナーバージョンアップを行い、検証を行う。
基本的には、下記のドキュメントの
http://www.johokobo.co.jp/download/NetCrunch8_Installation_Manual.pdf
「 6.2 マイナーバージョンアップの手順」に
従い、「NetCrunch8.7.1.3450」⇒「NetCrunch8.7.3.3472」の
マイナーバージョンアップを行い、シュミレータを通してだが、
監視ができることを確認した。
その際の検証した手順は下記の通り。
https://drive.google.com/file/d/0B2yjG8delT8WblVZNnhRTUwwTUE/view?usp=sharing
2016年01月06日
ソフトウェア・グラフィティ
毎年正月は、ブックオフで20%引きで本が買えるため、
本を物色しては、乱読をして過ごすことが多い。
今年も、何冊か購入してその第1弾。
内容は、日本のコンピュータ産業の黎明期から活躍された岸田孝一さんのソフトウェアエッセー集といったところ。岸田孝一さんについては、こういった本で過去読んだことがあったが、
自ら語られた内容の本は初めて読んだ。内容は哲学的なものも含んでいて、難しい部分もあるが、語り口が人柄もあるだろうが、良い意味で嫌味ではなく、上から目線の説教臭さもないので、読んでて面白い。印象に残ったところとしては、
(※囲み部分は本書からの引用。見出しは、私が勝手につけている)
「ソフトウェアは、(かたちのないかたち)をもっている」という立場をとり、「無形労働」という表現が使われている。
見えないものを形にするという点で、美術とソフトウェアとの共通点について言及している。下記は
美術家のパウロ・クレーという人の言葉を引用し、
若い時に演劇をやっていたようで、演劇活動とソフトウェア開発活動との共通点について言及している。
以前、下記の本で、ソフトウェア開発とハリウッド映画製作についての共通点を読んだことがあったので、
それと似ていて、面白い。こういった感覚は万国共通といったところか。
普段何気に、使っているウォータフォール・モデルについて、よく引用される
「Managing the Development of Large Software Systems」についての、正確な解釈についても書かれている。
※上記と同様の認識について、書かれているようだ。
「ウォーターフォールモデルの起源に関する考察 ウォーターフォールに関する誤解を解く」
http://barrel.ih.otaru-uc.ac.jp/bitstream/10252/5163/1/ER_64(1)_105-135.pdf
会社でも、とかく生産性の向上活動のようなものが行われるが、
それについても、書いてあって参考になる。
下記は、Unix導入の創世記にまつわるあるプロジェクト運営方針についてのもの。
この発想をある国際的な講演で発表し、
組織を運営していくうえでの、オープンマインドの重要性について。
自分自身を常に客観視する必要性について。大学生との討論会を実施した際に、
せっかく、育てた人が会社を去っていくことに対して、なぜ引き止めないかについて、
人材育成や今後のことについて。
自分なんかの凡人とは、考えの次元が違うので、語るに値しないが、参考になる本だった。
本を物色しては、乱読をして過ごすことが多い。
今年も、何冊か購入してその第1弾。
内容は、日本のコンピュータ産業の黎明期から活躍された岸田孝一さんのソフトウェアエッセー集といったところ。岸田孝一さんについては、こういった本で過去読んだことがあったが、
自ら語られた内容の本は初めて読んだ。内容は哲学的なものも含んでいて、難しい部分もあるが、語り口が人柄もあるだろうが、良い意味で嫌味ではなく、上から目線の説教臭さもないので、読んでて面白い。印象に残ったところとしては、
(※囲み部分は本書からの引用。見出しは、私が勝手につけている)
ソフトウェア論
「ソフトウェアは、(かたちのないかたち)をもっている」という立場をとり、「無形労働」という表現が使われている。
見えないものを形にするという点で、美術とソフトウェアとの共通点について言及している。下記は
美術家のパウロ・クレーという人の言葉を引用し、
「美術とは、目に見えるものを再現するのではない。見えないものを目に見えるようにするのである。」この言葉を背景とするクレーの講義は、のちにソフトウェアの世界に足を踏み入れて、「目に見えない」ソフトウェアを相手にしたとき、大いに役に立ったものである。
ソフトウェア開発論
若い時に演劇をやっていたようで、演劇活動とソフトウェア開発活動との共通点について言及している。
会社でのソフトウェア開発プロジェクトの企画や運営が演劇活動に代わる機能を果たしてくれたように思う。開発システムの仕様書がシナリオにあたる。役者たち(プログラマ)のキャスティングを決め、それぞれの演技(開発活動)をうまく、取りまとめて、顧客(ユーザー)の満足を勝ち取るという形である。
以前、下記の本で、ソフトウェア開発とハリウッド映画製作についての共通点を読んだことがあったので、
それと似ていて、面白い。こういった感覚は万国共通といったところか。
論文「Managing the Development of Large Software Systems」
普段何気に、使っているウォータフォール・モデルについて、よく引用される
「Managing the Development of Large Software Systems」についての、正確な解釈についても書かれている。
この会議での収穫は世界のソフトウェアコミュニティにウォータフォール型プロセスモデルの概念を紹介したウィンストン・ロイスの論文"Managing the Development of Large Software Systems"の発表を聴いたことであった。
この論文は、ウォータフォール・モデルの概念を推奨したものだと世の中では、みなされているが、それは大きな誤解である。原論文を読めばわかることだが、ロイスがハード・ソフトを複合した大規模システム開発における自身の経験に基づいて、主張したのは、軍や政府との契約にしたがって行われるハードウェア・システムの開発に利用されるウォータフォール型のプロセスモデルは、ソフトウェアシステムの開発にはうまく適用できないという事実の指摘だったのである。
この論文は、ウォータフォール・モデルの概念を推奨したものだと世の中では、みなされているが、それは大きな誤解である。原論文を読めばわかることだが、ロイスがハード・ソフトを複合した大規模システム開発における自身の経験に基づいて、主張したのは、軍や政府との契約にしたがって行われるハードウェア・システムの開発に利用されるウォータフォール型のプロセスモデルは、ソフトウェアシステムの開発にはうまく適用できないという事実の指摘だったのである。
※上記と同様の認識について、書かれているようだ。
「ウォーターフォールモデルの起源に関する考察 ウォーターフォールに関する誤解を解く」
http://barrel.ih.otaru-uc.ac.jp/bitstream/10252/5163/1/ER_64(1)_105-135.pdf
仕事観
会社でも、とかく生産性の向上活動のようなものが行われるが、
それについても、書いてあって参考になる。
われわれの行動原理は、とにかくまず楽しい仕事をしたい。そして、第2に自分の好きなことをしたい。この2点に尽きると思います。何が面白くて、プログラマをやっているかといえば、決してお金儲けが目的ではありません。ただ、お金を儲けたいだけなら、ほかにもっと楽な道がたくさんある。プログラミングという仕事は、ときに徹夜作業が続いたりして、つらいこと苦しいこともありますが、それでも自分のやりたいこと、あるいは趣味にあっていることだ。そういう人間が、開発環境という自分の仕事のための道具立てを改善しようとするさいの本音は、要するにみんなが、そして特に自分自身が楽しく好きなことをできるようにしようということにつきるでしょう。
そうすれば、結果として、生産性の向上や品質の改善は自動的についてくる。そうでなければおかしい。
逆に、生産性向上や品質改善を第一義の目的にしてしまうと、楽しくないことを好きでないこともやらなければならなくなります。そういう環境づくりはたいていうまくいきません。例えば、「ソフトウェア・ファクトリー」なんていう考え方がありますが、これはたとえてみれば、どうやって駅弁を安く早く作るかを目指したものです。料理人にとってはあまり楽しい仕掛けではありません。
そうすれば、結果として、生産性の向上や品質の改善は自動的についてくる。そうでなければおかしい。
逆に、生産性向上や品質改善を第一義の目的にしてしまうと、楽しくないことを好きでないこともやらなければならなくなります。そういう環境づくりはたいていうまくいきません。例えば、「ソフトウェア・ファクトリー」なんていう考え方がありますが、これはたとえてみれば、どうやって駅弁を安く早く作るかを目指したものです。料理人にとってはあまり楽しい仕掛けではありません。
下記は、Unix導入の創世記にまつわるあるプロジェクト運営方針についてのもの。
「プログラマたちの遊園地を」という発想だった。旧来の大型パッケージツールの考え方を捨てて、小さな単機能ツールを自在に組み合わせて自分たちの仕事を支援する環境を構成するというUnixの考え方に慣れ親しむためには、プログラマたちにまずはそうした仕掛けの楽しさを自分で体験してもらう必要がある。
この発想をある国際的な講演で発表し、
「遊園地の思想」について、語ったのだが、後日きいたところでは、私の講演を聴いたドイツの研究者が「日本恐るべし」という感想をいただいたとのことであった。
組織論
組織を運営していくうえでの、オープンマインドの重要性について。
技術革新のマネジメントを行う上で、1つ重要なことは、組織を閉じたものにするのではなく、つねに外部の新しい風(情報や人材、あるいは両方)が流れ込んでる来るように、オープンな窓口を維持することだといわれる。
人生観
自分自身を常に客観視する必要性について。大学生との討論会を実施した際に、
かれらが、何気なく口にする「ウチの大学」という物言いに引っかかるものを感じた。きっとこの人たちは、サラリーマンになると、「ウチの会社」うんぬんという議論を展開するのだろうなと思った。そうではなく、「この会社は」とか「この国は」という観点で、自分が所属する社会組織を他所として、見ることが必要なのにと思った。
せっかく、育てた人が会社を去っていくことに対して、なぜ引き止めないかについて、
別にだれがどこの会社で働こうと、それが世の中のためになればいいではないかというのが私の考えなのだが、組織志向の強い日本ではあまり理解されないようだ。
人材育成
人材育成や今後のことについて。
これから先のこと?なるようにしかならないでしょ。でも、今の状態では駄目だと思っている人がいる限り、何かが起きる。そういう「芽」が出てきたときに、それを皆で育てていくことが大切だと思います。
自分なんかの凡人とは、考えの次元が違うので、語るに値しないが、参考になる本だった。