• 締切済み

linuxのポート開放について

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

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

No1です。 それじゃあだめでしょう。特定のポートへの入力を許可した上で、出力を全部ブロックしているので。 なぜ出力側で制御したいのかわからないので、適切なアドバイスが出来ません。 普通は、入力側でブロックすると思いますが、なぜそうしないのでしょうか?

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

DROPする前に、ポート指定でACCEPTします。

sanada_masayuki
質問者

補足

回答頂きありがとうございます。 以下のような記述でよいのでしょうか。 iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A OUTPUT -d [IPアドレス] -j DROP 試したところftp接続はできませんでした。

関連するQ&A

  • ProFTPdとポート開放

    iptalesを使うと、WindowsからLinuxへFTPでログインしたとき、接続後にProFTPdからServerIdentが返されるまで40秒ぐらい待たされるようになりれました。 iptablesの先頭の方で iptables -P INPUT DROP iptables -P OUTPUT DROP を実行していますが、 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT に変更すると待たされませんでしたので、iptablesで許可するものが足りていないせいだと思いました。 何を許可することが足りないのでしょうか?

  • 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

  • FreeBSDでのポート開放について

    FreeBSDでポートを開放するための設定は必要ですか? どこを見ればどのポートが開放されているのかわかりますか? linuxのiptablesのようなものが見当たらないので知りたいです。

  • Linuxサーバ ポートが開放できない

    私の事務所では、サーバにFedoraLinuxとルータにWebCaster720を使っています。サーバを公開するためにルータのDMZ機能を使っていますが、HTTPとDNSのポートしか開放できません。他のポートSMTP、POP3,FTPなどのポートが開放できません。どうすれば他のポート番号を開放できるか、どうかご教授お願いします。 あとルータに固定IPアドレスが振られています。サーバのホームページも外部からドメイン名とIPアドレスで閲覧できます

  • LINUXのiptablesについて

    通常LINUXのコマンドライン上で新たにiptablesルールを作り直すとき # iptablse -F # iptables -P INPUT DROP # iptables -P OUTPUT ACCEPT # iptables -P FORWARD DROP # service iptables save と上記のようにコマンドを叩いて、あたらしいデフォルトのチェインポリシーを 事前に定義するもののようです。 この後【/etc/sysconfig/iptablse】というファイルを覗いてみると、 # Generated by iptables-save v1.4.7 on Wed Sep 5 06:20:56 2012 *filter :INPUT DROP [1:151] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] COMMIT # Completed on Wed Sep 5 06:20:56 2012 上記のような内容がiptablesに記述されていると思います。 おそらくこれに特定の条件のみ パケットを受信するportを開放したりする記述を追記していくものと存じます。 たとえば -A INPUT -p tcp --dport 22 -J ACCEPT などと記述して他ホストからのssdポートへのアクセスを 許可するといったかんじですね。 ただ冒頭のデフォルトのポリシーの設定に関しては、やはりコマンドライン上で # iptablse -F # iptables -P INPUT DROP # iptables -P OUTPUT ACCEPT # iptables -P FORWARD DROP # service iptables save このようなコマンドを叩いて設定するのが普通なのでしょうか? 例えば、デフォルトポリシーを直接 ファイルに記述するといったことはしないのでしょうか? ================================================================= *filter #以下で、デフォルトのフィルタポリシーを設定する -P INPUT DROP -P OUTPUT ACCEPT -P FORWARD DROP COMMIT ================================================================= 上記のように、直接iptablesの書式で書き込むように・・。 気になった理由としてはコマンドラインでデフォルトポリシーを指定した場合と コマンド -Aをつかって任意のportを開放する指定をした時の記述が異なることがきになっているのです。 デフォルトポリシーの記述は :INPUT DROP [1:151] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] 上記のような 行頭にコロンがついたような記述になっているのに -A INPUT -p tcp --dport 22 -J ACCEPT 上記のような -Aコマンドを叩いたときは、そのままコマンドがiptablseファイルに記述されているように思います。 :INPUT DROP [1:151] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -P INPUT DROP -P OUTPUT ACCEPT -P FORWARD DROP 上記の二種類の書き方を直接iptablesに記述してもキチンと動作します。 なぜ、上記のようにデフォルトポリシーに関しては二種類の書き方が存在するのでしょうか?

  • ポート開放をしたくて

    ポート開放をしようとしたのですがIPアドレスとグローバルIPが違うので開放出来ないんです。IPアドレスではなくグローバルIPで開放したいのですが、どうやればいいのですか?

  • iptablesを用いてのポート開放。

    iptablesを用いて、SSH、NTP、HTTP、FTP、SMTP、POP3、DNS、PROXYで使用するポートを開放するためのコマンドを教えてください。

  • ポート開放がうまく出来ません;

    最近あるゲームを快適にやるためにポート開放をしようと試みたのですが、うまく出来ません。 ルータはI.O.DATAのETG-Rを使用していて、その設定画面に移り「高度な設定」というところで「ポート開放」というのがあったのでそれでやりました。 IPアドレスも合っていて、設定を記録するところまでは出来るのですが、ポート開放のどの確認サイトに行っても開けていないようです; ポート開放のサイトはそのゲームを開いた状態でやらないと応答しない場合があると聞いたので、そうやってもみたのですがダメでした; 何か原因がわかるでしょうか??回答よろしくお願いします。まだ情報が必要な場合は遠慮なく申し上げてください! ちなみに回線はフレッツ光nextです。 そのゲームはICP12000、15000。UDP27000~28800。というポート番号です。

  • ポート開放について

    こんばんわ。 どうしてもポート開放のチェックで、 到達できないって出ます。。。 PCが複数ありますが、 固定IPが一つです。 なので、全PC全て同じIPになってます。 windowsでファイルメーカーを使ってまして、 任意のポートを空けてます。 ポート開放はスタートアップツールから、 ファイルメーカーを使ってるPCのプライベートIPを指定して、 ポートを指定と言う感じでポート開放出来てます。 しかし、 fedoraでBINDのスレーブを立てて、 fedoraのIPを指定して53を同じように空けても、 ポートが開かない状態です。 80など色々したり、 他のPCのポートを空けようとしても開かない状態です。 ファイルメーカーを使ってるPCだけが、 ポート空けるとしっかりと開くような状態なのですが、 固定IPが一つだと違うPCのポートを空けようとした時に、 開かないと言う事でしょうか? iptablesもstopさせたりしてます。

  • DMZのLinuxサーバでメールとFTPができません。

    RedHatLinux9でサーバを構築しました。 DMZにWEBサーバとメールサーバをつなげたのですが、WEBサーバは見えるのですが、メールサーバがつながりません。メールサーバには、sendmail と UWIMAP を使用しています。FTPでもDMZのサーバにログインできません。FFFTPでつなげようとすると、“Listenソケットが取得できません”と表示されます。 何が原因と考えられますか? iptables には、 (WANはppp0、DMZはeth1、LANはeth2、) iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i eth2 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i eth2 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i ppp0 -o eth1 -p tcp -d aaa.bbb.cc.ddd/32 --dport 80 -j ACCEPT iptables -A FORWARD -i ppp0 -o eth1 -p tcp -d aaa.bbb.cc.ddd/32 --dport 25 -j ACCEPT iptables -A FORWARD -i eth1 -o ppp0 -p tcp -s aaa.bbb.cc.ddd/32 --dport 25 -j ACCEPT という記述がなされています。 iptables -A FORWARD -i eth2 -j ACCEPT これだけでは、FTPでログインできないんでしたっけ。。 iptables -A FORWARD -i eth2 -j ACCEPT iptables -A FORWARD -i ppp0 -o eth1 -p tcp -d aaa.bbb.cc.ddd/32 --dport 25 -j ACCEPT iptables -A FORWARD -i eth1 -o ppp0 -p tcp -s aaa.bbb.cc.ddd/32 --dport 25 -j ACCEPT メールもこれだけではだめなんでしょうか?