2015年12月15日火曜日

[network]転送系 iptables リバプロ

■http
nginx とかで転送すべし

■その他プロトコル
iptables で転送すべし

- 準備
# cat /etc/sysctl.conf | grep net.ipv4.ip_forward
net.ipv4.ip_forward = 1
↑1になっていること。

- 更新方法  新規
    iptablesの再起動

- 更新 追加
   https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-IPTables-IPTables_Control_Scripts.html
iptablesを安全に追加するには、reload使うと、既存のがフラッシュされない!

   確認(status) > 編集(vi) > 適用(# /sbin/service iptables reload)

   確認方法
    # service iptables status

- 削除
    # iptables -t nat -D POSTROUTING 1


参考サイト:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Security_Guide/s1-firewall-ipt-fwd.html
https://help.sakura.ad.jp/app/answers/detail/a_id/2423/~/iptables%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95

■緊急用
ssh で転送すべし

# ssh -N -f -g -L 80:localhost:10080 root@接続先
 -f バックグランドで動作
 -N リモートでのコマンドなし
 -L ローカル

外部から見た時
 > localhost:80 で接続 http://◯◯.jp等

localhostから見た時
> 外部から80番ポートで接続がくる。
>10080へ変換して、接続先ポートへ受け流す。

■iptables
初期化
*filter
:INPUT ACCEPT [6:424]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5:588]
COMMIT
 
保存
# /etc/init.d/iptables save
 
開始
# service iptables start 

IP拒否 192.168.0.50
# iptables -I INPUT -s 192.168.0.50 -j DROP
 
■シスコ系
権限変更 
# enable
ACL 変更 >>> http://www.infraexpert.com/study/aclz7.html
 
■ルーティング設定
 /etc/sysconfig/network-scripts このへんい書く

運用中の場合はroute コマンド使う。
 
 route add -net 192.168.100.0/24 gw 192.168.100.253 

Linux 調査コマンド

バージョンチェック
# rpm -q openvpn

文字列検索 #カレント以下のconfファイルから、指定したipアドレスを探す。
# find ./ type f -name "*.conf" | xargs grep "ipアドレス"

■ネットワーク系
プロセス
# ps -ef | grep ssh
# ps -ef | grep プロセスID | grep -v grep

port + リッスンポート
 # netstat -an | grep LISTEN  ※ -ant もある。

port + ps(3690はSVN)nfs:2049
 # lsof -i:3690

ルーティング
# netstat -nr

自分のグローバルIPアドレスを調べる
# curl inet-ip.info
>> ここから拝借 http://qiita.com/syrinx05p/items/55060ab2e3dead4a370d
>> 他にもあるっぽい

ポート接続チェック       # telnet 宛先 ポート番号
受信ポートログチェック # tcpdump port ○○ ### ○○はポート番号
トラフィック                # dstat -f

■ハード系
CPU系
温度 # sensors

Disk容量
 - 監視ツールがあれば監視ツールで長期間で変動の動向を見る。
  -- 1月単位で○○GB減っている。半年だと○○GB必要  



■http をさぐれ
lsof -i アドレス:ポート | grep ユーザ ps -f PID これでconfファイルまで辿れる!!

2015年12月9日水曜日

シェル!!!

■printf を使ってみたよ。
SVNAME=`ssh IPアドレス hostname`
printf "SV Name      :$SVNAME\n"  >> svinfo.log

”でくくれば、変数も変換されて、\n とかも使えるので便利。

csv作るなら、echoではなく、printf が良いと思う。

2015年12月7日月曜日

セグメント内のサーバ情報を引き出す方法

なお、sshログインができるものとする。

宿題なので流れを整理して明日がんばる。

1. 利用されているIP一覧を作る。

#  awk -F'[()]' '{print $2}' ip.txt > iplist.txt
区切りもじ複数 ( と ) で区切り二つ目を表示する。

2. sshのリモートでごそっと確認する。今回はcat と grep あたり。
3. あたりのサーバがわからなくなりそうなので、実行方法を考えましょう。


IP一覧.txtをfor で回す。
 > echo で 確認するIP出す。
 > ssh IP cat 設定ファイル | grep 調べたい文字

こんな感じ?


アンシブルとか使えるともっとかっこ良いんだろうけどね。
事故を考えると、テスト環境作らないとだめ。