2015/08/19

CentOS7でlimitの変更(systemdの場合)

CentOS7でsystemdの場合、起動スクリプトは
/etc/systemd/system
/usr/share/systemd/sysmte/*.service

squidのfiledescriptorのlimitを変更するには、
/usr/lib/systemd/system/squid.service


現在のsquidのlimitの確認(Max open files)
#4603はsquidのプロセスID

[root@hoge system]#  cat /proc/4603/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             55412                55412                processes
Max open files            16384                16384                files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       55412                55412                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

-------------------------------------------------

変更する。
[root@hoge system]# cat squid.service
[Unit]
Description=Squid caching proxy
After=syslog.target network.target nss-lookup.target
[Service]
Type=forking
LimitNOFILE=16384
EnvironmentFile=/etc/sysconfig/squid
ExecStartPre=/usr/libexec/squid/cache_swap.sh
ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF
ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF
ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF
[Install]
WantedBy=multi-user.target

LimitNOFILEを増やす。
[root@hoge system]# cat squid.service
[Unit]
Description=Squid caching proxy
After=syslog.target network.target nss-lookup.target
[Service]
Type=forking
LimitNOFILE=65536
EnvironmentFile=/etc/sysconfig/squid
ExecStartPre=/usr/libexec/squid/cache_swap.sh
ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF
ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF
ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF
[Install]
WantedBy=multi-user.target

再起動して確認。
[root@hoge ~]# ps aux |grep squid
root      1113  0.0  0.0  80576  3308 ?        Ss   08:41   0:00 /usr/sbin/squid -f /etc/squid/squid.conf
squid     1116 86.1 17.9 2630044 2554428 ?     R    08:41   1:36 (squid-1) -f /etc/squid/squid.conf
squid     1180  0.0  0.0  27236  1236 ?        S    08:41   0:00 (unlinkd)
hiramatu  2143  0.0  0.0 112660   968 pts/0    S+   08:43   0:00 grep --color=auto squid

[root@hoge ~]# cat /proc/1113/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             55412                55412                processes
Max open files            65536                65536                files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       55412                55412                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

--------------------------------------
さて、どうなることやら。

2015/06/20

MacPro+VMware HyperVisor+CentOS7+USB3.0HDDでsquid

macpro and USBHDDMacPro+VMware HyperVisor+CentOS7にsquidを入れてproxyを、と作業していて良く考えたらディスク容量が少ないことに気付いた。
で、ディス増設 or  交換ができないわけでもないけど、費用的容量的にハードルが高いというか必要容量に届かない。
そこで、2.0TBのUSB3.0外付けHDDを用意して接続したけど、まず、マウントするのにはまった。
以下、簡単にメモ。
HyperVisorで仮想ホストに
・最初から見えているUSBコントローラでは、USB3.0が使えない
・xHCIなUSBコントローラを追加する
・すると、ホストマシン(MacPro)のUSB接続したHDDが見える
で、あとは、partdあたりでパーティション作成、初期化。

readがSSDほどではないけど、これだけ出ていればまあ、つかえそう。
----------------------
# hdparm -Tt /dev/sdb1

/dev/sdb1:
 Timing cached reads:   21514 MB in  2.00 seconds = 10769.03 MB/sec
 Timing buffered disk reads: 312 MB in  3.02 seconds = 103.41 MB/sec
-------------------------

のこりsquidの起動。
/etc/squid/squid.confあたりを適当にさわって、
# squid -z
Permission エラーが出た。squidユーザとsquidグループでした。修正して


enableにして
# systemctl enable squid.service
startして
# systemctl start squid.service
状態確認。
# systemctl status squid.servic

 

2015/06/14

postfixでSMTPauth周りの制限設定

設定確認
# postconf
デフォルトからの変更点のみ
# postconf -n

⚪︎受信時エラーの遅延処理
・エラー数がnum個より大きくなったら応答遅延を開始  
  smtpd_soft_error_limit =
・応答遅延を行う場合にどれぐらいの時間を遅延するか
    smtpd_error_sleep_time =

 許容しないという設定
   smtpd_hard_error_limit =

⚪︎クライアントごとのリソースと使用率の制御
・送信元のSMTPクライアントごとにリソースや速度の制御
・anvilサービス
・大量のメールを送り付けるSPAMホストに対する対策

・anvilが管理するクライアントの使用率を測定する単位時間の長さ
    anvil_rate_time_unit =
 特に設定しない場合はmynetworkで指定したホストを除外します。
    smtpd_client_event_limit_exceptions =
 

2015/05/29

CentOS7のメモ

#chkconfig --list
#systemctl list-unit-files 
#systemctl list-unit-files -t service



#systemctl enable sshd.service
#journalctl -u sshd.service

2015/05/28

MacProとESXi

黒いMacProでsquidを、と思って色々やっていたのだが、trransparentなproxyがうまく作れないでいた。
で、ふと、仮想化してみようとESXiをインストール。
ほんと何事もなくインストール完了。さようならMacOS。
って、よく見たらストレージはSSD 250GiB。。。。
キャッシュ領域どうしようかなあ。。

2015/04/07

MacOSのIPフォワード

MacOS X, yosemiteでIP転送の設定。 
 
# sudo sysctl -w net.inet.ip.forwarding=1

2015/04/01

MacOS X 10.10 で透過プロキシの設定

スイッチからポリシーベースルーティングで80番がリダイレクトされてくるので、MacPro でsquidを動かし透過プロキシを作ってみるメモ。

# On MacPro
Packet FilterのON/OFF
1)Apply
 # sudo pfctl -ef /etc/pf.conf
2) Stop
 # sudo pfctl -d

2015/03/26

squidが遅い場合の対処

CentOS+squidでプロキシを作っていたたが、
昼間になって利用が多くなるとsquidの反応が非常に悪くなる。
CPUもメモリも色々と疑って色々試すこと数ヶ月(とびとびだけど)。
よくよく見ると、
/var/log/squid/cache.logに
WARNING! Your cache is running out of filedescriptors
というメッセージが!
しかし、なまったなあ。こんなメッセージにも気付いていなかったなんて。
要は、接続数が多すぎて、file descriptorが不足しているらしい。
調べてみると、squidとOSの標準は1024らしい。
ということで、設定変更。
# vi /etc/squid/squid.conf
max_filedescriptors 0
をコメントアウト。ここで指定がいるかと思ったら、0のままに
しておくとOS側の設定となるらしい。
なので、squidの起動スクリプト(/etc/init.d/squid)に
ulimit -HSn 4096
と追加。
まったく問題なくなりました。

この辺を参考に。
http://takeda-h.hatenablog.com/entry/2014/12/09/005533
ありがとうございます。



Mailman会員管理画面の表示件数

mailman/Mailman/Defaults.pyに
DEFAULT_ADMIN_MEMBER_CHUNKSIZE = 30
とあるので、mm_cfg.pyに

DEFAULT_ADMIN_MEMBER_CHUNKSIZE = 100
として追記、mailmanを再起動。

既にあるメーリングリストについては、
$ python -i bin/withlist ml-list-name
>>> m.Lock()
>>> m.admin_member_chunksize = 100
>>> m.Save()
>>> m.Unlock()
>>> ^D
>>> ^D

以上。
これで100件になった。

2015/03/06

MLサーバでpostfixのエラー

Postfix+mailmanでMLサーバを構築。
普通にローカルユーザ宛のメールは届くが、mailmanで作成したメールアドレスに送ると、登録ユーザ宛に送信されない。
ログを見ると、
・NOQUEUE: reject: RCPT from localhost[::1]: 554 5.7.1
・Relay access denied
あたりが出ているので、localhost内でのpipemail(?)とpostfixでの問題かと。
解決策としては、
/etc/postfix/main.cfで、
 inet_protocols = all
    ↓
  inet_protocols = ipv4
とするだけでした。
よく見たら、[::1]じゃないか。。。 なまってるなあ。