web-dev-qa-db-ja.com

Ping:sendmsg:Arch GNU / Linuxにiptablesをインストールした後の操作は許可されていません

昨日、ホームサーバーとしてHP Proliant Microserverという新しいコンピューターを購入しました。カーネルバージョン3.2.12のArch Linuxをインストールしました。

Iptables(1.4.12.2-現在のバージョンAFAIK)をインストールし、net.ipv4.ip_forwardキーを1に変更して、iptables構成ファイルで転送を有効にすると(および再起動)、システムはネットワークインターフェイスを使用できなくなります。 pingが失敗する

Ping: sendmsg: operation not permitted

Iptablesを完全に削除すると、ネットワーキングは問題ありませんが、ローカルネットワークへのインターネット接続を共有する必要があります。

eth0-wan NICマザーボードに統合されています(Broadcom NetXtreme BCM5723))。

eth1-lan NIC(Intel 82574Lギガビットネットワーク)

Iptablesなしで動作するので(サーバーはインターネットにアクセスでき、内部ネットワークからsshでログインできます)、iptablesと関係があると思います。私はiptablesの経験があまりないので、これらをリファレンスとして使用しました(もちろん、互いに分離しています...):

wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway

revsys.com/writings/quicktips/nat.html

howtoforge.com/nat_iptables

以前のサーバーでは、revsysガイドを使用してnatをセットアップしました。

誰かが以前にこのようなことを経験しましたか?何が悪いのですか?

16
estol

エラーメッセージ:

Ping: sendmsg: operation not permitted

サーバーがICMPパケットを送信できないことを意味します。サーバーが、構成された1つ以上のインターフェースを介してトラフィックを送信できるようにする必要があります。これは次の方法で実行できます。

  1. ボックスからのすべての発信トラフィックを許可するには、OUTPUTチェーンポリシーをACCEPTに設定します。

    Sudo iptables -P OUTPUT ACCEPT
    
  2. OUTPUTチェーンポリシーをDROPに設定し、必要なタイプのトラフィックを選択的に許可します。

これは、OUTPUTチェーンだけでなく、すべてのチェーンに適用されます。 INPUTチェーンは、ボックスが受信するトラフィックを制御します。 FORWARDチェーンは、ボックスを介して転送されるトラフィックを処理します。

25
Khaled

私にとって、Debian 9では、pingを再インストールするだけで役に立ちました。

apt-get install --reinstall iputils-ping