ポートあかない・・・ごめんなさい

このQ&Aのポイント
  • CD-ROMからRedhat Linuxをインストールしたときに、ファイアウォールの設定で開けるポートの設定をしました。
  • しかし、ftp 192.168.0.xx 8xxx (localhostのIPです)とやると、500 Sorry, no server available to handle request on xxxxxxになります。
  • setupユーティリティはなぜ反映されないんでしょうか?このsetupユーティリティが書き換えるファイルは何?手動で書き換えられるなら書き換えたいです。
回答を見る
  • ベストアンサー

ポートあかない・・・

ごめんなさい。 色々教えてもらったので、しばらく質問せずに得た知識でやっていこうとか、さっき書いたのに・・・。 CD-ROMからRedhat Linuxをインストールしたときに、ファイアウォールの設定で開けるポートの設定をしました。 そのポートはどうやらちゃんと開いているようです。 標準のポート(2xとか80)以外にも9xxx(httpで使用)とかちゃんと開いています。 しかし ftp 127.0.0.1 8xxx (インストール時に入れてないポート) はできるのに ftp 192.168.0.xx 8xxx (localhostのIPです) とやると、 500 Sorry, no server available to handle request on xxxxxx になります。 それで、開けるポートを増やしたいのですが、setupコマンドのFirewall configurationはなん度やっても設定が反映されません。 次にこれを開いたときは、何もチェックいません。 いろいろ調べてipchainsとiptablesが関係ありそうだと分かったのですが、 > /sbin/ipchains -L Chain input (policy ACCEPT): Chain forward (policy ACCEPT): Chain output (policy ACCEPT): で、ここでは何もやってなさそうです。 > /etc/iptables -L /lib/modules/2.4.18-3/kernel ... init_module: Device or resource busy ... insmod errors ... incorrect module parameters, ... IO or IRQ ... dmesg /lib/mod ... /ip_tables.o: ... ip_tables.o failed /lib/ ... tables.o: ... can't initialize ... to be upgraded. これは壊れてる予感ですか? rpm -eで消してからup2date iptablesしましたが、同じでした。 どちらもポート制限には関わっていないんでしょうか? setupユーティリティはなぜ反映されないんでしょうか? このsetupユーティリティが書き換えるファイルは何? 手動で書き換えられるなら書き換えたいです。 ちなみにX Windowは勘弁。 ---- Redhat Linux 7.3 (i386)

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

  • ベストアンサー
  • astronaut
  • ベストアンサー率58% (303/516)
回答No.6

ほとんどチャット状態になってますが (^^; > いつも、ソースコードとかをどかっと出すのはどうかなぁと思って > たんですが・・・。 全部出さなくても「変更点を全部」出していただければ… $ diff proftpd.conf.org proftpd.conf の結果なんかをそのまま見せていただくのが一番ありがたかったりします。 公開したくない部分は伏字にすればいいんだし。 >>192.168.0.xx で公開したいなら、 >というか、むしろすべてのコンピュータに公開したいのですが、これでいける > でしょうか? ホストのipが192.168.0.xxで、このアドレスで、すべてのコンピュータに公開 したいんでしょう? 例のサイトより引用。 > VirtualHost の設定の記述は特定のホスト名や IP アドレスに割り当てる、 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 独立した設定 directive のセットを作るために使われます。 ということで、熟読すれば理解できますが、 > 微妙に何を入れて良いのかわかりませんでした この「微妙に」というあたりが良く理解できますです。 では、2週間後の朗報をお待ちしております。

haporun
質問者

お礼

おー! ローカルで192.を使ってはもちろん、LAN内の他のマシンからも接続することができました。 >$ diff proftpd.conf.org proftpd.conf の結果なんかをそのまま・・・ えーと、proftpd.conf.orgがどこにあるのか分かりませんでした・・・。 >ということで、熟読すれば理解できますが ごめんなさい、なんども読みましたが、やっぱり192...と127...の違いが分かりませんでした。 もっと別の基本的なところを理解してないんでしょうか? いやいやでもでも、やっと公開に至りました。 あ、ルータ通れるか確認してないや。 本当にありがとうございました。 今度こそ誰にも頼らずに・・・早くも壁にぶち当たりそうな予感もしますが・・・やっていこうと思います。 ありがとうございました。

その他の回答 (6)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.7

> ローカルで192.を使ってはもちろん、LAN内の他のマシンからも接続することが > できました。 おー、それは良かった。 >$ diff proftpd.conf.org proftpd.conf の結果なんかをそのまま・・・ えーと、proftpd.conf.orgがどこにあるのか分かりませんでした・・・。 えーーーーと、普通、設定ファイルを編集するときは、オリジナルのバック アップを取るでしょう? それとの差分を見せて下さいということですよ。 ではでは

haporun
質問者

お礼

>えーーーーと、普通、設定ファイルを編集するときは、オリジナルのバックアップを取るでしょう? うっ・・・。 オリジナルのファイルは作っていませんが、オリジナルの設定で使わないところはたいていコメントアウトしてます。 使ってる部分はオリジナルなのか書き加えたのか自分で判断しなければなりませんが。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.5

ごめん、編集ミスでごみが入った。 > <VirtualHost <VirtualHost 192.168.0.xx> > が正しいんじゃないですか? おわかりとは思いますが、 <VirtualHost 192.168.0.xx> です。ねんのため。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.4

あー、やっと設定ファイルを(一部ですが…)見せていただけましたね。 > <VirtualHost 127.0.0.1> 192.168.0.xx で公開したいなら、ここは <VirtualHost <VirtualHost 192.168.0.xx> が正しいんじゃないですか? (参考URLの「Directive 設定のオンラインマニュアル」参照) 私のところでhaporunさんと同様の設定にしたら、 $ ftp 172.16.127.131 2001 でログインはできるけど、標準のポートで公開しているディレクトリに 入ってしまいました。症状が違うので、ちょっと考えて初期設定ファイ ル8行目の Default server を off にしたら完全に同じ症状になりま した。 これぐらいの情報は最初から出して欲しいと思うわけです。 今回の問題はhaporunさんの思い込みとは違って、packet filtering でも Limit directive でもなかった訳ですから… なんだか、いつも情報が足りなくて余計な手間がかかっている気がします。 そのことを、何度もやんわりと指摘してきたつもりなのですが… 質問するなら、思い込みだけじゃなくて、自分の環境と、作業内容を「正確に」 伝えるべきです。今回の場合は、proftpd.conf の変更点を「すべて」。 これでうまくいくことを願っています。

参考URL:
http://www.infoscience.co.jp/technical/proftpd/
haporun
質問者

お礼

>これぐらいの情報は最初から出して欲しいと思うわけです >なんだか、いつも情報が足りなくて余計な手間がかかっている気がします う、それは気づかなかった・・・。 ごめんなさい。 いつも、ソースコードとかをどかっと出すのはどうかなぁと思ってたんですが・・・。 >192.168.0.xx で公開したいなら、 というか、むしろすべてのコンピュータに公開したいのですが、これでいけるでしょうか? Apacheだと <VirtualHost _default_>ってここには自分のサーバーを入れるみたいなので、proftpdでも同じかなと思ったのです。 http://www.infoscience.co.jp/technical/proftpd/reference.html#VirtualHost を見ましたが、微妙に何を入れて良いのかわかりませんでした。 >これでうまくいくことを願っています。 ありがとうございます。 しかし、ルータがフリーズしてしまったらしく、Telnetを受け付けないもんで、しばらくいじれなくなりました(泣。 およそ2週間ヒマです。 またうまくいったら(ダメだったら)報告します。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.3

情報が足りないので、うまくいっているやり方をご紹介するぐらいしか できないのですが… ◯インストール $ rpm -ivh proftpd-standalone-1.2.7-1.i386.rpm proftpd-1.2.7-1.i386.rpm ◯設定ファイル /etc/proftpd.conf の変更 27行目 nogroup を nobody に変更 以下のdirectiveを追加 <VirtualHost 172.16.127.131> Port 2001 </VirtualHost> ◯デーモンを起動 $ /etc/rc.d/init.d/proftpd start これだけで、localhostからもリモートからも21番と2001番portで サーバーにアクセスできています。rpmパッケージは本家のバイナリです。 まさか、ルーターでフィルタされてる、なーんてことはないですよね…

haporun
質問者

お礼

回答ありがとうございます。 VirtualHostは同じマシンの違うディレクトリなので、 <VirtualHost 127.0.0.1> Port 8000 DefaultRoot /hoge/moge <Limit ALL> AllowAll Allow from all </Limit> </VirtualHost> というふうになってます。 Allowは関係ないんでしょうか・・・。 もはや手の打ちようが・・・。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

> Allowを書きまくりましたが、127ではログインできて192では > ログインできないという状況は変わりませんでした。 Allowを書きまくるってのが何をしているのかわからないけど(もっと 情報は正確に!)、ServerType を inetd としてるんですかね? ServerType が standalone なら /etc/hosts.* は無関係ですよ。 /etc/rc.d/init.d/proftpd start としてサーバーを起動しておけば、/etc/hosts.deny が ALL:ALL でもアクセスできます。 ServerTypeをinetdとしているなら、RedHat7.3は標準ではinetdでは なくてxinetdをsuper serverとして使いますけど、その辺は大丈夫で すかね? xinedの場合、標準のポートで公開するなら、参考URLのとおりやるだけ で大丈夫です。 ポートを変えたい場合は、/etc/xinetd.d/ftpd に port = xxxx という行を追加して、xinetdを再起動するだけでうまくいきました。 (proftpd.confの変更必要無し:この部分自信無し)

参考URL:
http://www.turbolinux.co.jp/knowledge/public/466.html
haporun
質問者

お礼

いろいろとありがとうございます。 タイプはstandaloneです。 ipchainsもiptablesも切ってしまいました。 proftpd.confのなかに、1つもDenyするようなことは書いてないんですが・・・。 Allow from allやAllowAllをすべてのVirtualHostのなかのLimitのなかに書いたんですが、ダメでした。 ・・・そして、現在遠隔地にて、自宅のルータがフリーズしてるっぽくて、操作不能・・・。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.1

> 色々教えてもらったので、しばらく質問せずに得た知識でやっていこうとか、 > さっき書いたのに・・・。 ははは(^^; 最初はわからないことだらけですよね。がんばりましょう。 まず packet filtering について。 ipchains と iptables は両立しません。これからなら iptables を使いましょう。iptablesのエラーは ipchains が有効になっているからだと思います。 chkconfig --level 2345 ipchains off とやると、run level 2 ~ 5 までで ipchains が無効になります。 今動いている ipchains をとめるには、 /etc/rc.d/init.d/ipchains stop iptables を有効にする方法と手動で動かす方法は…略(いぢわる??) ipchainsでも何のルールも適用されていないようですから、ポートは全て 開いているはずなので、 > ftp 127.0.0.1 8xxx (インストール時に入れてないポート) > はできるのに > ftp 192.168.0.xx 8xxx (localhostのIPです) > とやると、 > 500 Sorry, no server available to handle request on xxxxxx > になります。 これは packet filtering の問題ではありませんね。proftpdの設定を 見なおしましょう。 ちなみに、iptablesの設定ファイルは /etc/sysconfig/iptables です。こまかなフィルタリング設定を行なうには、iptables コマンドでしこしこフィルターを設定して iptables-save > /etc/sysconfig/iptables とやるのが普通です。 > setupユーティリティはなぜ反映されないんでしょうか? これについては、別の方の質問と回答がすぐ近くにありますね。

haporun
質問者

お礼

またまたお世話になります(汗。 ipchainsもiptablesも両方とも切ってしまいました。 ルータを通しているので、外部から変なポートで接続されることはなさそうですし・・・。 >proftpdの設定を見なおしましょう Allowを書きまくりましたが、127ではログインできて192ではログインできないという状況は変わりませんでした。 もはやどうやって良いのかわからない・・・。

関連するQ&A

  • 経路設定について Linux

    ネットワークの経路がおかしいのではないかと思い 経路構成について調べてみましたが、いきなりつまづきました。 VineLinuxと RedHat9を使っています。 iptablesとipchansというものが存在するみたいですが(この時点で混乱) まず、現在の構成を知ろうと思いますが iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination となっています。 これは一体何を意味するものでしょうか? また、ipchains -Lとすると ipchains: Imcompatible with this kernel となります。 やりたいことは、以下のとおりです。 双方向OK (グローバル xxx.xxx.xxx.xxx) Port 22 Port 25 Port 53 Port 80 中からのみ(192.168.1.*) Port 21 Port 110 外からのみ (グローバル xxx.xxx.xxx.xxx)  Port 37

  • CentOSのポート解放

    TFPサーバを立てようと思い、CentOS5.6にproftpdをインストールしました。 しかし、ポート20番がしまっていてやりとりできません。 iptables -A INPUT -p tcp --dport 20 -j ACCEPTでポートを開き、 iptables -Lで確認すると target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination となっています。 この状態で /etc/rc.d/init.d/iptables restart と行ったのですが、やはりだめです。 何がまずいのでしょうか。 netstatコマンドで確認すると21番は空いているのですが、20番がsynパケットの送信でとまっているようです。

  • iptables ポートフォワーディングについて

    ポートフォワーディングの設定を行いたくて試しにやっているのですが、 うまくいかないので教えていただけないでしょうか。 WinXPクライアント(192.168.1.22) | Linuxルーター(eth0=192.168.1.40, eth1=192.168.2.41)起動しているサーバーはssh,telnet,ftp,http,postgresです。 | LinuxWebサーバー(eth0=192.168.2.81 port=80)起動しているサーバーはssh,telnet,ftp,http,postgres,cvspserverです。 WinXPクライアントからLinuxWebサーバーにアクセスしたいのですが、以下のように設定しても WinXPクライアントのブラウザには「サーバーが見つかりません」と表示されてしまいます。 他に追記すべき設定、お気づき等ございましたら教えてください。よろしくお願いします。 Linuxルーターのiptables設定内容(service iptables stopを行った後、以下を設定しております) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.2.81:80 iptables -A FORWARD -d 192.168.2.81 -p tcp --dport 80 -j ACCEPT ------------------------------------------------------------- 上記設定後iptables -Lとしてみたら以下のように表示されました。 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere 192.168.2.81 tcp dpt:http Chain OUTPUT (policy ACCEPT) target prot opt source destination さらにservice iptables saveをして cat /etc/sysconfig/iptablesとしてみたところ以下のように表示されました。 # Generated by iptables-save v1.3.5 on Sat Jan 30 11:46:10 2010 *nat :PREROUTING ACCEPT [2:280] :POSTROUTING ACCEPT [2:115] :OUTPUT ACCEPT [2:115] -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.81:80 COMMIT # Completed on Sat Jan 30 11:46:10 2010 # Generated by iptables-save v1.3.5 on Sat Jan 30 11:46:10 2010 *filter :INPUT ACCEPT [148:9894] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [169:16447] -A FORWARD -d 192.168.2.81 -p tcp -m tcp --dport 80 -j ACCEPT COMMIT # Completed on Sat Jan 30 11:46:10 2010 ------------------------------------------------------------- ちなみに以下のように設定してWinXPクライアントからsshで192.168.1.40の10000ポートに接続すると接続できました。 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10000 -j DNAT --to 192.168.2.41:22 ------------------------------------------------------------- 以下のように設定してWinXPクライアントから「telnet 192.168.1.40 10000」コマンドを発行してみるとしていない 時と比べて「接続中: 192.168.1.40...」となっている時間が長いので何かしら影響しているのかなと思います。 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10000 -j DNAT --to 192.168.2.81:23

  • linuxのポート開放について

    linuxのポート開放での質問です。 特定のIPアドレスからFTPポート(20,21)のみ開放するには、どうすればいいでしょうか。 現在、iptables -A OUTPUT -d [IPアドレス] -j DROP にて特定のIPアドレスとのI/Oを 停止していますが、このIPアドレスからFTPポートのみ開放する方法を教えてください。

  • iptablesでポートフォアワードがうまくいかない。

    お世話になります。下記の通りiptablesでフィルターとNATの定義をしました。 しかし、内部からネットへの接続は可能ですが、外部からWebサーバーにあるHPが見れない指摘を受け、その原因を調べています。 不備な点、ご指導賜りたく存じます。 eth0:1.2.3.4 ---------- | Linux | ----------- eth1:192.168.0.101   | websever:192.168.0.100 cla:192.168.0.102~ modprobe iptable_nat modprobe ip_conntrack_ftp modprobe ip_nat_ftp iptables -F iptables -t nat -F iptables -t mangle -F iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT iptables -A OUTPUT -o eth1 -d 192.168.0.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -d 1.2.3.4 -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -s 1.2.3.4 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -d 1.2.3.4 -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -s 1.2.3.4 -j ACCEPT iptables -t nat -A PREROUTING -p tcp -d 1.2.3.4 -i eth0 --dport 80 -j DNAT --to 192.168.0.100:80 iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4 iptables -t nat -A POSTROUTING -s 192.168.0.102/32 -o eth0 -j MASQUERADE

  • 最近不思議な事が発生してきてしまいました…

    最近不思議な事が発生してきてしまいました… FTPやTELNETの接続にローカルからのアクセスでも5秒位たってから接続が開始されるのです。あげくのはてにHXDのサーバーも立ててるんですが、それなんて接続できてもファイルがUPもDOWNもできないんです… でもBBSの書き込みはできるんです。しかもその場合ローカルからのアクセスならこれまた10秒位待てばなんとか開始されるんです(゜o゜) そこでパーミッションの問題かとは思ったのですがHXDで共有する全ファイルのパーミッションを777にしたのですがそれでも一緒でした。 何回再セットアップしても同じです。もちろんFTPもTELNETも同じなんです。 でもあきらかに同じRedHat7.2を入れた違うサーバーとは接続速度が異常に違うんです…FTPとTELNETに関しては待てばなんとか繋がるから問題ないと言えばそれまでかもしれないのですが、不思議で不思議で… ■この症状に対処した事 再セットアップ3回位 パーミッションを777へ変更(HXDで共有するファイルのみ) 何かipchainsとかが邪魔してるのかと思ってlokkitとipchainsは削除しました。そしてiptablesでポリシーをFOWARD以外全てACCEPTにしました。 ■スペック RedHat7.2 マザーAopenでCPUセレロン300 ※マザーがATA33までしか対応していないためドータカードを使用して 現在HDは4機(全てドータ側に接続)そのためhdeから認識されている。 ▲予断なのですがこれが原因か何か解らないが7.2しかインストールできない。機種が古すぎ? ビデオカード millennium200?(AGP)なんかそんな名前のやつあるでしょ?^_^; LANカードPLANEXのたしか9802なんとか… セットアップ時に自動で認識してくれる。 ※最初から動かなかったわけではありません。 まったく同じ条件で前は動いていたんです(ToT)それがだんだんおかしくなってきたから再セットアップしたら白黒ハッキリついちゃったんです…

  • iptablesについて

    redhatのiptablesについて質問です。 基本的なことなんですが・・・教えてください。 iptableのポリシーをacceptにして、 filterで個別にaccseptにすると、filterで指定したポートのみが許可されるのですが ポリシーで許可すると全て許可になるのではないでしょうか? ポリシー許可+フィルター許可の場合は、フィルター部分のみ許可になるのか という質問です。 よろしくお願いします。

  • ip_conntrack_ftpのインストール

    現在、CentOS5で、vsftpを使って、FTPサーバを立てようとしているのですが、 FTPでpassiveモードで繋がらないという状況(固まる感じ)に陥り、 色々調べたところ、iptablesで必要なモジュールを読み込んでおく 必要があるということがわかりました。 そこで、 /etc/sysconfig/iptables-configに、以下のような設定をし、 IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp" この状態で、iptablesを再起動したのですが、 モジュールの読み込みで失敗となりました。(以下、参照) # /etc/rc.d/init.d/iptables restart Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: mangle filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_ftp ip_na[FAILED] そこで、以下のようにモジュールをロード、インストールしようとしたところ # modprobe ip_conntrack_ftp # modprobe ip_nat_ftp FATAL: Could not load /lib/modules/2.6.18-028stab070.14/modules.dep: No such file or directory 上記のエラーが出て、ここから先、どうすればよいのかわかりません。 どなたか、この状況の場合、どのような作業を行えばよいのか教えていただけないでしょうか?

  • RHEL5 ファイアウオール設定

    LINUXを少し触った程度のものです。 REHL5 でファイアウォール設定をすること になりましたが、うまくできていません あるマシンIP xxx.xxx.xxx.xxxx からのポート25番接続は 許可するが、その他のマシンは拒否したいと思っております。 iptables -A INPUT -s xxx.xxx.xxx.xxxx -p tcp --dport 25 -j ACCEPT iptables -A INPUT -m state --state ESTABLISH,RELATED -j ACCEPT ではだめのようでした。 よろしくお願いします。

  • (初心者) RedHat エンタープライズLinuxのファイアウォール設定

    LINUXを少し触った程度のものです。 REHL5 でファイアウォール設定をすること になりましたが、うまくできていません あるマシンIP xxx.xxx.xxx.xxxx からのポート25番接続は 許可するが、その他のマシンは拒否したいと思っております。 iptables -A INPUT -s xxx.xxx.xxx.xxxx -p tcp --dport 25 -j ACCEPT iptables -A INPUT -m state --state ESTABLISH,RELATED -j ACCEPT ではだめのようでした。 よろしくお願いします。