これは非常に単純な質問のようです。しかし、私はそれについてウェブ上ではあまり見ていません。コマンドは RHELドキュメント 自体から来ているので、動作すると思います...それでも失敗します。何か洞察はありますか?
コマンド:
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p udp --dport 25150 -j ACCEPT
出力:
iptables: Invalid argument. Run `dmesg' for more information.
dmesgログ:
[ 1719.334534] x_tables: ip_tables: tcp match: only valid for protocol 6
おめでとうございます。RHELのドキュメントにエラーが見つかりました。
ここに示すiptablesルールは、tcp
マッチャーを使用しますが、udp
プロトコルを指定しようとします。これは機能しません。 tcp
マッチャーは、プロトコル6でのみ使用できます。プロトコル6はたまたまtcp
です。したがって、受け取ったエラー。
ルールを修正するには、最初に、マッチャーとプロトコルのどちらが間違っているかを特定する必要があります。残念ながら、このエラーはインターネット全体に伝播しているため、インターネット検索からこれを理解するのはそれほど簡単ではなく、Cobblerのドキュメントでさえ明確に言及されていません。
ss -nl
の出力を調べることで簡単に分類でき、UDPではなくTCPポート25150でリッスンしているコブラーが見つかります。したがって、udp
を置き換えます。 tcp
を使用して、ドキュメントエラーをRedHatに報告します。