(CentOS7,postfix,dovecot)メールサーバを構築

何をするか

メールサーバ(SMTP/POP3)を構築して、client1からclient2にメールを送れるようにする。
検証用なのでセキュリティ対策はSMTP認証の暗号化くらいしかやりません。
使用するドメインが1「test.com」になっていますが、自宅内のローカルNWでのみ使用するので見逃して下さい..。
↓ざっくり構成図

続きを読む

(CentOS7,bind)自宅内DNSサーバを構築

何をするか

内部DNSサーバ(コンテンツ 兼 キャッシュ)を構築してクライアントから自宅内ホストの名前解決を行えるようにする。インターネット側の名前解決はGoogleのパブリックDNSサーバを公開DNSとして使用する。
自宅NWで使用するドメインは「xxxx.myhouse.local」
↓ざっくり構成図

続きを読む

(windows)IPを変更したり、DNSを変更したり

・スティックIPアドレスに変更(ip 192.168.1.1 gw 192.168.1.1)

netsh interface ip set address "ローカル エリア接続" static 192.168.1.1 255.255.255.0 192.168.1.254 1

・DHCPに変更

netsh interface ip set address "ローカル エリア接続" dhcp

・プライマリDNSサーバを変更(dns 172.16.1.1)

netsh interface ip set dns name="ローカル エリア接続" source=static addr=172.16.1.1 register=PRIMARY

(Linux)ネットワークの設定

Linuxディストリビューションによって、
インタフェースの設定方法は変わりますが
本記事ではCentOS6と7の設定方法について説明します。

流れ

・設定ファイルの編集
・ネットワークの再起動
・状態確認

CentOS6

・設定ファイル
 /etc/sysconfig/network-scripts/ifcfg-eth0
 /etc/sysconfig/network-scripts/ifcfg-eth1
 ※編集方法はページ下部を参照
・ネットワークを再起動するコマンド
 service network restart
・インタフェースの状態確認
 ifconfig
・ルーティングテーブルの確認
 route

CentOS7

まずは現在のネットワーク状態を確認

[root@osboxes ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::997:363c:644c:a71f  prefixlen 64  scopeid 0x20<link>
        ether 0c:21:96:63:c5:00  txqueuelen 1000  (Ethernet)
        RX packets 12371  bytes 19342121 (18.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10404  bytes 753854 (736.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s3でIPv4アドレスがとれていない。認識されているデバイス名を確認する。

[root@osboxes ~]# nmcli d
DEVICE      TYPE      STATE      CONNECTION
enp0s3        ethernet  disconnected --
virbr0      bridge    connected  virbr0
lo          loopback  unmanaged  --
virbr0-nic  tun       unmanaged  --

enp0s3のインタフェース自体は認識されてるが、切断済みのステータスになっている。

インタフェース設定ファイルが存在するか確認する。

[root@osboxes ~]# ls /etc/sysconfig/network-scripts/
fdown-ppp       ifup-ib      ifup-Team
ifcfg-lo             ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown               ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep          ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth           ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib            ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp          ifup             ifup-post    network-functions-ipv6
ifdown-ipv6          ifup-aliases     ifup-ppp
ifdown-isdn          ifup-bnep        ifup-routes
ifdown-post          ifup-eth         ifup-sit

インタフェース設定ファイルが存在しないので、enp0s3をEthernetとして明示的に追加する。

[root@osboxes ~]# nmcli connection add type ethernet ifname enp0s3
Connection 'enp0s3' (6a178893-339c-4c20-9d10-0babc6eb7cf9) successfully  added.

追加に成功したとのメッセージが出たので、再度インタフェース設定ファイルを確認する。

[root@osboxes ~]# ls /etc/sysconfig/network-scripts/
ifcfg-ethernet-enp0s3    ifdown-post      ifup-eth     ifup-sit
ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo               ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown                 ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep            ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth             ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib              ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp            ifup             ifup-post    network-functions-ipv6
ifdown-ipv6            ifup-aliases     ifup-ppp
ifdown-isdn            ifup-bnep        ifup-routes

インタフェース設定ファイル(ifcfg-ethernet-enp0s3)を発見。

今回はDHCPなのでifcfgファイルは編集する必要なし(デフォがDHCPなので)

とりあえず再起動する。

[root@osboxes ~]# reboot

ネットワーク状態を確認する。

・設定ファイル
 /etc/sysconfig/network-scripts/ifcfg-enp0s3
 /etc/sysconfig/network-scripts/ifcfg-ens160
 /etc/sysconfig/network-scripts/ifcfg-ens192 とかとか

 ※編集方法はページ下部を参照
・ネットワークを再起動するコマンド
 systemctl restart NetworkManager
 systemctl restart network
・インタフェースの状態確認
 ip addr(ip aでも可)
・ルーティングテーブルの確認
 ip route

設定ファイルの編集箇所

ONBOOT=yes ← 起動時に有効にする
BOOTPROTO=none ← DHCPの場合は「dhcp」に
#HWADDR=00:0C:29:xx:xx:xx ← 自動取得にするので文頭に「#」
IPADDR=xxx.xxx.xxx.xxx ← 環境に即して
NETMASK=xxx.xxx.xxx.xxx ← 環境に即して
GATEWAY=xxx.xxx.xxx.xxx ← 環境に即して

(Linux)viエディターの使い方

viエディターとは

Linuxでよく利用されるテキストエディターの事です。エディターには他にもvimやEmacsが存在しますがLPICの試験範囲外となっているので、LPIC(LinuC)の受験を考えている場合はviをメインで覚えた方が良いと思います。

viの動作モード

viには2つの動作モードが存在し動作モードを切り替えながら使用します。
・コマンドモード
 viを起動した時点のモード、キーボードからの入力がコマンドとして解釈されます。
・入力モード(普通の状態)
 キーボードのキーを押すとテキストが入力されます。

動作モード切り替え

・コマンドモードから入力モード
 キーボードの「a」「i」「o」のいずれかを入力
・入力モードからコマンドモード
 キーボードの「Escキー」を押下

コマンドモードの操作(カーソル操作)

・カーソルの移動
 キーボードの矢印キーを使って移動
・ファイルの先頭行/最終行へ移動
 キーボードから「gg」(先頭行)「G」(最終行)を入力
・行の先頭/末尾へ移動
 キーボードから「O」(先頭)「S」(末尾)を入力

コマンドモードの操作(ファイルの保存と終了)

・ファイルを上書き保存
 キーボードから「:w」を入力してEnter
・ファイルを保存して終了、ファイルを保存せずにviを終了
 キーボードから「:wq」(保存有)「:q!」(保存無)を入力してEnter
・viを終了
 「:q」を入力してEnter (編集した場合は保存するか聞かれます)

コマンドモードの操作(編集)

・カーソルの位置の行を削除
 キーボードから「dd」を入力 ※「10dd」と入力すると10行削除
・カーソルの位置の行をコピー
 キーボードから「yy」を入力 ※「10yy」と入力すると10行コピー
・コピーした文字列を貼り付け
 キーボードから「p」を入力
・1動作前の状態へ戻る(windowsのctrl+z)
 キーボードから「u」を入力

コマンドモードの操作(検索と置換)

・ファイル内で特定の文字列を検索
 キーボードから「/文字列」を入力してEnter
 「n」で次を検索「N」で逆方向へ検索
・最初に見つかった文字列1を文字列2に置換
 キーボードから「:%s/文字列1/文字列2/」を入力しEnter
・全ての文字列1を文字列2に置換
 キーボードから「:%s/文字列1/文字列2/g」を入力しEnter

(Linux)Linuxの基本コマンド

私が業務で頻繁に使うコマンドをまとめてみました。

システムの情報を見る

・システムの情報を表示(uname)
 -a:全ての情報を表示、-n:システムのホスト名を表示
・システムの日付と時刻を表示(date)
 引数なし:システムの日時を表示、
 -s “yyyy/mm/dd hh:mm” :システム時間の修正

ディレクトリの確認、移動

・指定したディレクトリ内のファイルを表示(ls)
 -a:隠しファイルも含めて全てのファイルを表示
 -l:パーミッション、更新日時、サイズ等も表示
・現在のディレクトリを確認(pwd)
 引数なし:現在のディレクトリを確認
・ディレクトリの移動(cd)
 cd フルパス:ディレクトリの移動

ファイルの中身を見る

・ファイルの内容を表示(cat)
 cat ファイル名:ファイルの内容を表示
・ファイルの内容をページ単位で表示(less)
 less ファイル名:ファイルの内容をページ単位で表示
・ファイルの先頭を表示(head)
 head ファイル名:ファイルの先頭を表示
・ファイルの末尾を表示(tail)
 tail ファイル名:ファイルの末尾を表示

ファイルを編集、複製、移動、削除する

・ファイルを編集(vi)
 vi ファイル名:ファイルを編集
・ファイルをコピー(cp)
 cp コピー元 コピー先パス:ファイルをコピー
 -p:タムスタンプやパーミッションの情報を保持したままコピー
・ファイルの削除(rm)
 rm ファイル名:ファイルの削除
 -R:ディレクトリを削除、-f:強制的に削除