FC2ブログ

下流ネットワークエンジニアの生活

上流工程を夢見る下流工程のネットワークエンジニアがネットワーク技術や資格、身の回りのことを情報発信! Juniper Cisco YAMAHA DELL D-Link AlaxalA F5 CCNA CCNP CCIE ネットワークスペシャリスト

指定期間 の記事一覧

Juniper JUNOSデバイスにSSH接続してコンフィグやログを取得するシェルスクリプト expect 自動化

2017.07.24 (Mon)


JuniperのEXスイッチを大量に管理しているが、
結構な頻度でログやコンフィグの一斉取得をする機会がある。

いちいち手動で機器にログインしてコマンドを叩くのは手間なので、
シェルスクリプトを作ってみた。

巷ではAnsibleやChefが流行っているようだが、
このスクリプトは古風なexpoctを使っている。





-------------------------------------------------------------------------
#!/bin/bash

###アカウント###
USER=user
PASS=pass

###取得コマンド###
COMM="show config"

###対象機器###
###IP ホスト名###
LIST="192.168.10.1 gw1
192.168.10.2 gw2
192.168.10.254 sw1"


###処理###
IFS=$'\n'
for line in `echo "${LIST}" |grep -v ^#`
do

IP=`echo $line | cut -d' ' -f1`
HOST=`echo $line | cut -d' ' -f2`

expect -c "
set timeout 5
spawn ssh -l ${USER} ${IP}
expect \"Are you sure you want to continue connecting (yes/no)?\" {
send \"yes\n\"
expect \"Password:\"
send \"${PASS}\n\"
} \"Password:\" {
send \"${PASS}\n\"
}
expect \"${USER}@${HOST}>\"
send \"${COMM} | no-more\n\"
expect \"${USER}@${HOST}>\"
send \"exit\n\"
interact

done
-------------------------------------------------------------------------







スポンサーサイト



Linux KVM ホストOS上からゲストOSのubuntu16.04にvirsh consoleコマンドでログインできるようにする

2017.07.24 (Mon)
Linux KVM ホストOS上からゲストOSのubuntu16.04にvirsh consoleコマンドで
ログインしたいがデフォルトではできない。

以下の手順でログインできるようにする





1)GRUBのファイルを編集

sudo vi /etc/default/grub

------------------------------------------------------
-GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" <-削除
+GRUB_CMDLINE_LINUX_DEFAULT="" <-追加

-GRUB_CMDLINE_LINUX="" <-削除
+GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200" <-追加
------------------------------------------------------


2)反映

sudo grub-mkconfig -o /boot/grub/grub.cfg


3)再起動

sudo reboot


CentOS7 BIND9でDNSシンクホールを試してみる マルウェア対策 特定ドメインのDNSブロック

2017.07.24 (Mon)

マルウェア対策やアクセスさせたくないサイトへのアクセスを
DNSのレスポンスを無効なIPアドレスに書き換える手法、DNSシンクホールを試す。


■要件
・CentOS7上に構築
・非chroot環境
・特定のFQDNの問い合わせに対する回答を無効なIPアドレスを挿入してアクセスさせないようにする
・正規のFQDNはフォワーダーにて上位のDNSサーバ(ルーターやISP提供)に問い合わせる

■めも
・端末毎にhostsファイルを書かなくて良いので楽
・IPアドレス直アクセス通信には無力

※root権限で実施






1)bindのインストール

yum install -y named


2)named.confを修正

vi /etc/named.conf

以下をコピペ

------------------------------------------------------------------
acl "mynet" {
192.168.10.0/24;
};
options {
version "unknown";
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; mynet; };

recursion yes;

forwarders {
192.168.10.1;
};
forward only;

dnssec-enable no;
dnssec-validation no;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
channel "query-log" {
file "/var/log/named/query.log";
print-time yes;
};
category queries { "query-log"; };
};

zone "." IN {
type hint;
file "named.ca";
};

include "/var/named/internal.zones";
include "/var/named/blacklisted.zones";
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
------------------------------------------------------------------


3)zoneファイルを置くディレクトリを作成

mkdir /var/named/ && mkdir /var/named/zones/



4)ブラックリスト用のzoneファイルを作成

vi /var/named/blacklisted.zones

以下をコピペ
------------------------------------------------------------------
zone "test.com" {type master; file "/var/named/zones/blockeddomains.db";};
zone "test.local" {type master; file "/var/named/zones/blockeddomains.db";};
zone "test2.local" {type master; file "/var/named/zones/blockeddomains.db";};
zone "test3.local" {type master; file "/var/named/zones/blockeddomains.db";};
※1行1zoneとなるように上記のようにblockしたいドメインを記述していく
------------------------------------------------------------------


vi /var/named/zones/blockeddomains.db

以下をコピペ
------------------------------------------------------------------
$TTL 3600
@ IN SOA ns1.mynet.local. info.mynet.local. (
2017071001 ; Serial
7200 ; Refresh
120 ; Retry
2419200 ; Expire
3600 ; Default TTL
)
;
IN NS block
A 127.0.0.100
* IN A 127.0.0.100
------------------------------------------------------------------



5)パーミッション&所有権を変更

chown named.named -R /var/named
chmod 640 /var/named/blacklisted.zones
chown root.named -R /var/named/blacklisted.zones
chmod 640 /var/named/zones/blockeddomains.db
chown root.named /var/named/zones/blockeddomains.db



6)namedの自動起動設定&起動

systemctl enable named
systemctl start named
 | HOME |  Next »