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 調べたい文字

こんな感じ?


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

2015年11月24日火曜日

nfs

追加方法

ホスト作業

nsfサーバにする。
# yum install rpcbind nfs-utils
# service nfs start
# chkconfig nfs on

■参照系
被マウント一覧

# showmount -a

# tcpdump -n port 2049

 netstat -a | grep nfs

exportfs -v で確認できる。

1. export 書く
 IP/32 で個別指定はなんかNG


exportfs -r で更新する。

exportfs -v で確認できる。 

https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/s1-nfs-server-config-exportfs.html


クライアント作業

2. mount コマンドでテスト
 nfsを指定する。ホスト名指定のほうがあとで便利

3. fstab書く

4. mount -a でテスト 

番外編
Windows2012R2 でマウント
mount NFSserver:/share z:\
zドライブに NFSサーバの/share をマウント

接続制限
1. /etc/hosts.allow or hosts.deny
2. iptables 

2015年11月18日水曜日

[webサーバ]nginx使いこなす!

openrestyを使ってみる。

・インストールできた。yum でいろいろ入れる。

[環境]
 CentOS6 + nginx(openresty) + php(php-fpm) + sqlite(PDO)
 # wget https://openresty.org/download/ngx_openresty-1.7.10.2.tar.gz
 >>> yum インストール https://openresty.org/en/linux-packages.html
 nginx には必要なもの
  # yum install pcre pcre-devel
 # yum install gcc
 # yum install openssl-devel 
 # yum install libxslt-devel
 php-fpm はyum

[FAQ]
 - ベーシック認証
    http://www.kunitake.org/fswiki/static/htpasswd.html

 - PHP動かす。 > 達成
    # yum -y install php-fpm
    # chkconfig php-fpm on

 - iisからnginxへ引越 > 達成
    phpのみ > 達成 コピーするだけ。
    文字化け対策
     > なんかで変換する。元の文字コード調べる必要あり。
     > SJISだったけど、ブラウザ上で問題ないので変換不要。
     > http://itpro.nikkeibp.co.jp/article/COLUMN/20131209/523510/
       ↑チェック方法 iconvコマンドで確認できた。

 - sqlite
    > phpの記述方法違うかも > 対応厳しめ
    > ソースからPDOなる文法発見!足りないパッケージいれる。
    # yum install php-pdo
    > よくわからんけど、読みこむようになる。

 - 大文字、小文字問題
    > Windowsは大文字、小文字を無視する。。。無視すんなヽ(`Д´)ノ 
    > 地道に直す。。。解決

 - マルチバイト文字がどうのこうの
    # yum install php-mbstring
    # php -m | grep mb
    mbstring

    # service php-fpm restart
    > 例のphpinfo()を更新して確認 > 解決\(^o^)/

 - メモ
    php.ini の display_errors = On がエラーつぶしに超便利
    メモリー512MBでも超早い。
    /etc/php-fpm.d/www.conf のユーザーをnginx に変更しろグループも > エラーでない
    phpのモジュール追加は、php-fpm 再起動必須。
    昔に比べたらかなり、導入楽になった。

 - resolv.conf 変更したら(参照先のDNSを変えたら) nginx と php-fpm を再起動すること。

[運用] 
 - document root > /usr/share/nginx/html ### 定義の場所不明w
 - basic認証 # htpasswd -cs .htpasswd User001
 - conf 確認 # nginx -t 
 - 起動確認  # ps -ef | grep nginx

 - 起動      # nginx
 - 再起動    # nginx -s reload
 メンテ用
 - 停止 # nginx -s stop


[接続IP制限]

 - 内側のみOKにする。
     server {
        listen       80;
        server_name  localhost;

        allow 127.0.0.1;
        allow 10.0.0.0/8;
        allow 172.16.0.0/12;
        allow 192.168.0.0/16;
        deny all;

[wordpress]nginx + php + mysql
 - php については、上部のphp-fpmと大体同じ。
 - permanent link 対応必要

[FTP等アップロードユーザーについて]
# usermod -aG nginx アップロードするユーザー名
 ↑をやっておくと、アップロードできない問題が消える。
 アップロードしたファイルの権限をnginx に揃えられるとさらにクールですね。




2015年11月17日火曜日

メールサーバ

■googleapps
 - MTA設定
  リレーをグローバルIPで許可してあげると、パス無しで遅れる。
  ↑で許可したほうが、アカウントとパスワード使わなくてよいので便利。

 - sso対応
  確認中。


□MTA:postfix
構文チェック # postfix check
 なにもでなければOK
□MB:dovecot

2015年11月16日月曜日

redmine の色々

1. プロジェクトごとに色つける。 Wiki Extention いれる。 StyleSheet書く

2015年6月19日金曜日

ESXiじょうほう

■WindowsServer2012R2 はESXi5 U2 から対応の様子。U1だと裏ワザでいける。
VMNET3のネットワークカード を使うこと

■vSphere 上でDiskサイズ変わらんときは
構成 > ストレージ > 更新ボタン

■管理ネットワークのデフォルトゲートウェイを変更する。
仮想VMには影響なしで、vSphere上から可能(要 緊急時用コンソール)


■管理
メモリー使用状況 esxtop > m押す
 メモリ合計  total
 空き領域   free

2015年3月16日月曜日

CSSテスト 色付けて文字サイズも変える。

<span style="color: red; font-size: large;"><b>span</b></span><br /> 
span
赤色で、文字サイズ変える場合は 
color: red; font-size: large;
; で区切ればいいのね。こりゃ便利。 

CSSあんまり書いたことなかったので、助かる。
 redmineで使いたくてテストしました。