• squidと ftpと selinux

    squidを使ってプロクシサーバをたてた。
    NATの内側にproxyがある。

    http/httpsは問題ないが、LAN内のブラウザ→squid→ftpリソース、だと取得できない。
    試しにsquidが動作しているサーバでwgetを使って同じftpリソースを取得してみたがこっちはOK。なので、ネットワーク的にはいけるはず。

    PASVになってないのかな?と思ってtsharkでキャプチャしてみると、PASVに対して肯定応答をもらっているのに、その後なぜかPORTを送り、相手のサーバからConnection確立できない、という応答。

    今度はstraceで様子を見てみると、PASVを送ったあと相手のサーバに接続しようとしたところでconnectがEACCESでエラーになっている。

    どういうこと?と思ったけど「squid ftp selinux」で検索してみると良くある話題のようだ。
    selinuxポリシー内で、squidがftp接続に行けるポートを制限しているらしい。

    selinuxってこういう制限もするのか。

    実のところ、selinuxでブロックされている、ということは後からわかった。
    試行錯誤しまくった過程で、iptablesのモジュール(/etc/sysconfig/iptables-configのIPTABLES_MODULES)にip_conntrack_ftp を加えても通るようになった。これはいまだになぜかわかってない・・・。


    CentOS:5.3
    squid-2.6.STABLE21-3.el5
    selinux-policy-2.4.6-203.el5
    selinux-policy-targeted-2.4.6-203.el5


  • linuxで USBメモリを mountする

    USBデバイスはSCSIデバイスにmapされるんだから、dmesgで確認してmountすればいいさー、と思ってたら変なところでハマってしまった。

    usb-storage: waiting for device to settle before scanning
      Vendor: BUFFALO   Model: ClipDrive         Rev: 1.11
      Type:   Direct-Access                      ANSI SCSI revision: 02
    SCSI device sdb: 258048 512-byte hdwr sectors (132 MB)
    sdb: Write Protect is off
    sdb: Mode Sense: 03 00 00 00
    sdb: assuming drive cache: write through
    SCSI device sdb: 258048 512-byte hdwr sectors (132 MB)
    sdb: Write Protect is off
    sdb: Mode Sense: 03 00 00 00
    sdb: assuming drive cache: write through
     sdb: sdb1
    sd 4:0:0:0: Attached scsi removable disk sdb
    sd 4:0:0:0: Attached scsi generic sg1 type 0
    てな感じのログが出たのでsdb1をmountしようとしたら、

    mount: スペシャルデバイス /dev/sdb1 が存在しません
    と言われる。
    あれー?と思って/devを見ると確かに存在しない。

    で結局mknodでデバイスファイルを作ってmountした。

    mknod /dev/sdb b 8 16
    mknod /dev/sdb1 b 8 17

    でも、以前mountしたときは最初からあったような・・・
    と思って調べたら、udevdがkernelからのイベントを受け取ってruleに従って適宜作成してくれるものらしい。
    知らんかった。
    で、ウチのudevdはどうなっとるのだと思ってpsしてみたら、居なかった・・・・。
    いつ終了しちゃったんだろう・・・

    ということで、
    • 一旦umount
    • USBメモリ抜く
    • /dev/sdb* をrm
    • /sbin/start_udevで改めて起動
    • USBメモリ挿す
    • /dev/sdb1出来た!
    • mount
    と相成った。
    しかしなんでudevd居なくなってたんやろう。yumで5.1→5.2してから再起動してないからだろうか。


    OS: CentOS 5.2
    udev-095-14.16.el5
    kernel-2.6.18-92.1.6.el5


  • CentOSが 5.2になった

    何気にyum updateしたら、update対象パッケージが200以上。
    なんじゃこりゃー、と思ったら5.2になってた。

    $ rpm -q firefox
    firefox-3.0-0.beta5.6.el5.centos

    beta5て(^^)、CentOS的にアリなの?