linuxの最近のブログ記事
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
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
USBデバイスはSCSIデバイスにmapされるんだから、dmesgで確認してmountすればいいさー、と思ってたら変なところでハマってしまった。
あれー?と思って/devを見ると確かに存在しない。
で結局mknodでデバイスファイルを作ってmountした。
いつ終了しちゃったんだろう・・・
ということで、
しかしなんでudevd居なくなってたんやろう。yumで5.1→5.2してから再起動してないからだろうか。
OS: CentOS 5.2
udev-095-14.16.el5
kernel-2.6.18-92.1.6.el5
usb-storage: waiting for device to settle before scanningてな感じのログが出たのでsdb1をmountしようとしたら、
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
mount: スペシャルデバイス /dev/sdb1 が存在しませんと言われる。
あれー?と思って/devを見ると確かに存在しない。
で結局mknodでデバイスファイルを作ってmountした。
mknod /dev/sdb b 8 16で、ウチのudevdはどうなっとるのだと思ってpsしてみたら、居なかった・・・・。
mknod /dev/sdb1 b 8 17
でも、以前mountしたときは最初からあったような・・・
と思って調べたら、udevdがkernelからのイベントを受け取ってruleに従って適宜作成してくれるものらしい。
知らんかった。
いつ終了しちゃったんだろう・・・
ということで、
- 一旦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
何気にyum updateしたら、update対象パッケージが200以上。
なんじゃこりゃー、と思ったら5.2になってた。
beta5て(^^)、CentOS的にアリなの?
なんじゃこりゃー、と思ったら5.2になってた。
$ rpm -q firefox
firefox-3.0-0.beta5.6.el5.centos
beta5て(^^)、CentOS的にアリなの?
