• ベストアンサー

squidでもdelegateのようなアプリケーション層レベルでのフィルタリングは可能?

識者の皆様宜しくお願い致します。 ppp0 RedHat9(192.168.1.1)─(192.168.1.105)vine3.1 (192.168.0.1) | (192.168.0.89) Win2k としています。 ダイナミックDNSのサイトでドメイン(hoge.dyndns.net)を取得しました。 delegateはアプリケーション層レベルゲートウェイなので RedHat9上のdelegateでは WAN側から http://vine.hoge.dyndns.nethttp://win2k.hoge.dyndns.net でアクセスした場合、双方のFQDNはどちらもppp0のグローバルアドレスにCNAMEされますよね。 でも delegateではアプリケーション層レベルでの転送ができるので、 hoge.dyndns.netの80ポートへのアクセスは vine.hoge.dyndns.net→192.168.1.105 win2k.hoge.dyndns.net→192.168.1.89 と振り分ける事が可能ですよね。 (もち、iptablesでは無理ですが) 元々、RedHat9にはsquidがインストールされているのでsquidを使用してみたいのですが squidでdelegateのようにアプリケーション層でパケットの制御ってできるのでしょうか? (一応、検索はしてみたのですが、、、)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

 このケースだと HTTP/1.1 の Host: で指定されたホスト名でアクセスを振り分けたいんですよね? であれば #1 の anmochi さんのおっしゃってる方法でできるでしょう。 > アプリケーション層パケットフィルタリング 言いたいことはわかりますが、anmochi さんの紹介している URL に『リバースプロキシ』とはっきり書いてあると思いますが。

hhozumi
質問者

お礼

有難うございます。 大変参考になりました。

その他の回答 (1)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

http://squid.robata.org/ReverseProxy_top.html  この辺り(上記URLの4.2)が参考になるかと。  試した事はないが、squidは元々HTTPプロキシやしね。HTTPリクエストヘッダを見て制御を変えるというのは当然できるはず。

hhozumi
質問者

お礼

有難うございます。 大変参考になりました。

hhozumi
質問者

補足

有難うございます。参考になります。 私が申すこの機能は特になんと呼ばれる機能なんでしょうか? アプリケーション層パケットフィルタリング って呼んでもいいんですかね。?

関連するQ&A

  • DDNSでドメインを追加し・名前解決できたのですがそれ宛に届きません

    qmail-1.03をRedHat9で使用しています。 WAN | ppp0(foo.co.jp) Redhat9 # hostname foo.co.jp # head /var/qmail/control/* | grep -v ^# ==> /var/qmail/control/badmailfrom.tmp <== ==> /var/qmail/control/defaultdomain <== co.jp hoge.dyndns.net ==> /var/qmail/control/locals <== foo.co.jp ain.hoge.dyndns.net localhost ==> /var/qmail/control/me <== foo.co.jp ain.hoge.dyndns.net ==> /var/qmail/control/plusdomain <== co.jp hoge.dyndns.net ==> /var/qmail/control/rcpthosts <== ain.hoge.dyndns.net beth.hoge.dyndns.net caph.hoge.dyndns.net foo.co.jp localhost となっていまして、foo.co.jpドメイン宛には届きます。 さらにhoge.dyndns.netでも受け取れるようにしたいのです。 外部から hoge.dyndns.net ain.hoge.dyndns.net beth.hoge.dyndns.net caph.hoge.dyndns.net の名前解決はできました(4つともppp0のグローバルアドレスを指しました)。 で、hotmailとかから hoge.dyndns.net ain.hoge.dyndns.net beth.hoge.dyndns.net caph.hoge.dyndns.net ドメイン宛のメールを送信してみましたが届きません。 # tail -f /var/log/maillog は無反応でした。ファイアウォールも全てスルーにしてみましたが無反応です。 どうすれば受け取れるようになるのでしょうか?

  • squidのcrontabについて

    お世話になります。 今、squidを使ってproxyサーバーを立てています。 access.logのrotateを行いたく四苦八苦しています。 今crontabには、0 * * * * squid -k rotateと記述していますが、command not foundです。 色々とHPをみてると/usr/local/squid/bin/squid -k rotate とあったので、真似ました。駄目でした。 (そんなディレクトリ自体存在しない) どこにコマンドがあるのでしょうか? squidはrpm -ihvでインストールしました。 redhat linux release9 kernel 2.3.20-8 on an i686 squid-2.5.STABLE1-2 です。 不足している情報があればご指摘ください。 よろしくお願い致します。

  • Squidが応答しません

    海外在住でその国にサーバーがあるVPS(CentOS 5)でSquid(v2.6 Stable21)を構築しましたが応答しません。 VPSにあるWebサーバー(Apache)にはアクセスでき、正常に表示されるのですが、Squidはうんともすんともいわないです。 Squidは起動しており、sudo /etc/init.d/squid status を実行すると、 squid (pid 2649) is running... と表示されます。 しかし、IEでプロキシの設定をしてアクセスすると「プロキシ サーバーは応答していません」と表示され、そのままネットワーク診断をすると「リソース(Webプロキシ)はオンラインですが、接続試行には応答していません。」と表示されます。 アクセスログは空のままで、リスタートした際のキャッシュログは以下のようになっています。 Basic認証等もしておらず、http_access allow allとしています(そもそもアクセスログに何も残っていないですが) VPS側から他のネットワークにpingを飛ばしてみても正常に動いていますし、クライアントからVPS側にpingを飛ばしても正常に返ってきます。 squid.outには何もエラーは表示されておらず、store.logも空です。 /etc/sysconfig/iptables に下記を追加し、ポート3128も解放しています。 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT また、クライアント側で他の公開されているプロキシを利用した際は正常に動いています。 何か考えられる原因や解決方法がありましたら、ご教示ください。 Preparing for shutdown after 0 requests Waiting 30 seconds for active connections to finish FD 14 Closing HTTP connection Shutting down... FD 15 Closing ICP connection Closing unlinkd pipe on FD 12 storeDirWriteCleanLogs: Starting... Finished. Wrote 0 entries. Took 0.0 seconds ( 0.0 entries/sec). CPU Usage: 0.012 seconds = 0.008 user + 0.004 sys Maximum Resident Size: 23984 KB Page faults with physical i/o: 2 Memory usage for squid via mallinfo(): total space in arena: 2508 KB Ordinary blocks: 2430 KB 5 blks Small blocks: 0 KB 5 blks Holding blocks: 244 KB 1 blks Free Small blocks: 0 KB Free Ordinary blocks: 77 KB Total in use: 2674 KB 97% Total free: 77 KB 3% Squid Cache (Version 2.6.STABLE21): Exiting normally. Starting Squid Cache version 2.6.STABLE21 for i686-redhat-linux-gnu... Process ID 2649 With 1024 file descriptors available Using epoll for the IO loop DNS Socket created at 0.0.0.0, port 41221, FD 7 Adding nameserver 8.8.8.8 from /etc/resolv.conf Adding nameserver 8.8.4.4 from /etc/resolv.conf User-Agent logging is disabled. Referer logging is disabled. Unlinkd pipe opened on FD 12 Swap maxSize 102400 + 8192 KB, estimated 0 objects Target number of buckets: 425 Using 8192 Store buckets Max Mem size: 8192 KB Max Swap size: 102400 KB Local cache digest enabled; rebuild/rewrite every 3600/3600 sec Rebuilding storage in /var/spool/squid (CLEAN) Using Least Load store dir selection Set Current Directory to /var/spool/squid Loaded Icons. Accepting proxy HTTP connections at 0.0.0.0, port 3128, FD 14. Accepting ICP messages at 0.0.0.0, port 3130, FD 15. WCCP Disabled. Ready to serve requests. Done reading /var/spool/squid swaplog (0 entries) Finished rebuilding storage from disk. 0 Entries scanned 0 Invalid entries. 0 With invalid flags. 0 Objects loaded. 0 Objects expired. 0 Objects cancelled. 0 Duplicate URLs purged. 0 Swapfile clashes avoided. Took 0.3 seconds ( 0.0 objects/sec). Beginning Validation Procedure Completed Validation Procedure Validated 0 Entries store_swap_size = 0k storeLateRelease: released 0 objects

  • squid or delegate

    ログ監視を行おうと思いますが、 squid or delegate どちらが扱いやすいでしょうか。

  • vine3.1でPPPoEサーバのログインパスワードは何処に記述する?

    こんばんは。 RedHat9(XWindow有り)で使用していた/etc/sysconfig/network-scripts/ifcfg-ppp0 を フロッピーに録って置いてvine3.1をインストール(XWindow無し)でPPPoEサーバに接続したく、 /etc/sysconfig/network-scripts/下に下記のような ifcfg-ppp0 を起きました。 所で、何故かパスワードが記載されてないのに何故かRedHat9では接続出来てました。 (RedHat9はX Windows付属の接続ツールにパスワードを入力してました) PPPoEサーバのパスワードは何処のファイルにどのように記述すればいいのでしょうか? USERCTL=yes PEERDNS=no ONBOOT=yes TYPE=xDSL DEVICE=ppp0 BOOTPROTO=dialup PIDFILE=/var/run/pppoe-adsl.pid FIREWALL=NONE PING=. PPPOE_TIMEOUT=80 LCP_FAILURE=3 LCP_INTERVAL=20 CLAMPMSS=1412 CONNECT_POLL=6 CONNECT_TIMEOUT=60 PERSIST=no SYNCHRONOUS=no DEFROUTE=yes USER='hoge@isp.co.jp' PROVIDER=BBisp ETH=eth0 DEMAND=no

  • vncサーバの使用ポートって?

    RedHat9 eth0(192.168.0.1) | (192.168.0.2) Win2k に http://www.vector.co.jp/soft/dl/win95/net/se324464.html Win2k側からwin32用VNCビューワ(NSLキー対応) Win2k側からwin32用VNCサーバ(NSLキー対応) ****://jaist.dl.sourceforge.net/sourceforge/vnc-tight/tightvnc-1.2.9-1.src.rpm を夫々インストールして、 Win2k→Redhat9 と(ファイアウォールをスルーにして)アクセス出来ました。 でもファイアウォールを掛けるとアクセス出来ません。 /sbin/iptables -A INPUT -p tcp -s 192.168.0.0 -m multiport --dports 5950,5951,5952,5953 -i eth0 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp ! --syn -m state --state ESTABLISHED -d 192.168.0.0 -m multiport --sports 5950,5951,5952,5953 -o eth0 -j ACCEPT という風にフィルタリングしているのですが何か間違っていますでしょうか?

  • vine3.1のSSHサーバにアクセスするとエラー「ssh_exchange_identification: Connection closed by remo

    こんにちは。宜しくお願い致します。 vine3.1の環境です。 ppp0 RedHat9 (192.168.1.1) | (192.168.1.105) vine3.1 となっています。 [root@vine3.1]# cat /etc/inetd.conf | grep telnet telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd [root@vine3.1]# cat /etc/hosts.allow | grep telnet in.telnetd: 192.168.0. 192.168.1. 192.168.2. [root@vine3.1]# service inet restart Stopping INET services: [ OK ] Starting INET services: [ OK ] として、RedHat9からvine3.1にtelnetアクセス出来ました。 SSHサーバも構築したくて [root@vine3.1]# which sshd /usr/sbin/sshd [root@vine3.1]# cat /etc/inetd.conf | grep sshd ssh stream tcp nowait root /usr/sbin/tcpd sshd [root@vine3.1]# which sshd /usr/sbin/sshd [root@vine3.1]# cat /etc/hosts.allow | grep sshd sshd: 192.168.0. 192.168.1. [root@vine3.1]# cat /etc/ssh/sshd_config | grep -v ^# SyslogFacility AUTHPRIV LogLevel DEBUG3 PermitRootLogin no IgnoreRhosts no X11Forwarding yes Subsystem sftp /usr/libexec/openssh/sftp-server としたのですが [user01@redhat9]$ ssh -l user01 192.168.1.105 ssh_exchange_identification: Connection closed by remote host となっていまいます(ファイアウォールも全てスルーにしています)。 これは原因なのでしょうか?

  • known_hostsを削除してもエラー「Host key verification failed.」が

    vine3.1 (192.168.1.2) | (192.168.1.1) Redhat9 (192.168.0.1) | (192.168.0.89) としています。 [user01@vine3.1]# ssh -l user01 127.0.0.1 や [user01@Win2k]# ssh -l user01 192.168.1.2 や [user01@RedHat9]# ssh -l user01 192.168.0.89 としてアクセス出来ましたがRedHat9からは [user01@Redhat9]# ssh -l user01 192.168.1.2 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is a6:cf:71:5d:ad:47:b7:07:9b:06:b1:9e:cb:48:44:73. Please contact your system administrator. Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message. Offending key in /etc/ssh/ssh_known_hosts:1 RSA host key for 192.168.1.2 has changed and you have requested strict checking. Host key verification failed. となってしまいます。 RedHat9の/home/user01/.ssh/known_hostsを削除してみましたが 同様のエラーが表示されます。 どうすればRedHat9からvine3.1にアクセス出来るようになるのでしょうか? (一応、ファイアウォールはスルーにしています)

  • 低スペックPCにCUI環境のみのインストールをしたい

    低スペックPC(K6-2_350MHz/HDD6G/128M)にLinuxを入れたいと考えております。 telnetによるアクセスしか行わない予定ですので、CUIで動けば良いと考えてい ます。VineかRedHat(Fedoracore)を使いたいと考えています。 googleにて「低スペック・CUI・インストール・Linux」などというキーワード にて検索してみましたが、良い参考になる物を見つけることができませんでした。 CUIのみのインストールは、可能なのでしょうか? また、参考になる情報サイトご存知でしたらば、ご教授いただきたく、お願いします。

  • アクセスをブロックされているアプリケーションについて

     ・使用OS XP   使用ブラウザ IE6.0  ・ウイルスバスター 2005使用中  パソコンにそれほど詳しくないので、皆さんにお聞きしたいことがあります。現在、セキュリティ対策として、「ウイルスバスター2005 90日体験版」を使用しているのですが、バスターを使用してから、毎日同じようなアプリケーション(送信先ポート番号だけが違う)のアクセスがパーソナルファイアウォールによってブロックされていることがわかりました。ブロックされているアプリケーションは以下の通りです。 プロトコル  UDP   アプリケーションパス  C:WINDOWS\SYSTEM32\SVCHOST.EXE アプリケーション名  Generic Host Process for Win32 Services 説明  セキュリティレベル設定によるブロック  バスターのセキュリティレベルが「中」なので、除外設定をすればブロックされないらしいのですが(ヘルプ参照)、そもそも「Generic Host Process for Win32 Services」とは何でしょうか?勝手な想像ですが、「Windows Update」を自動更新に設定しているので、その関係のものでしょうか。なんとなくそんな気がするので、よくUpdateの必要があるのかチェックはしているのですが(全然違うかもしれません)。  また、これが害のないものでしたら、除外設定をしてブロックされないようにしたいのですが、設定の仕方が今ひとつよくわかりません。除外リストの何をどう編集すればよいのか、わかる方がいたら、できれば初心者にもわかるよう、どうかお願いします(質問の中でおかしな用語の使い方をしていたら、すみません)。