システムレベルでマルチキャストパケットのデフォルトTTLを設定する方法はありますか?

システムレベルでマルチキャストパケットのデフォルトTTLを設定する方法はありますか?

私のCentos 7からマルチキャストアドレスへのpcapキャプチャにはTTL 25が表示されます。ファイアウォールはこれをDDOSと見なし、パケットを破棄します。

私はアプリケーションコードがIP_MULTICAST_TTLフラグでsetockopt()を呼び出してマルチキャストTTLを設定できることを知っています。また、デフォルト値は 1 であることを指定します。システムレベルでこの値を設定する方法があるかどうか疑問に思います。

私が見つけた唯一の調整可能なエントリはnet.ipv4.ip_default_ttlですが、それを変更するとIPスタック全体のttlが変わりますが、これはマルチキャストパケットに限定されません。

これに提案がありますか?ありがとう


コメントに追加情報を要求するように修正されました - >アプリが正しく機能しません。ネットワーク担当者によると、ファイアウォールはこのDDOS攻撃を考慮してパケットを破棄します。この問題を解決するには、マルチキャストTTLを現在25から10以下に減らすことをお勧めします。アプリケーション担当者によると、彼らは自分のアプリケーションでそれを実行せずにシステム/OSレベルで実行したいと考えています。ただし、これを実行できるOSレベルの調整可能項目は見つかりません。

答え1

rootで/etc/sysctl.confを編集するか、一部のディストリビューションでは新しいsysctlファイルを作成できます。 ttlを99に設定するには、次の内容を含む行を追加します... "net.ipv4.ip_default_ttl=99" たとえば...

echo net.ipv4.ip_default_ttl=99 | sudo tee /etc//etc/sysctl.d/42-myttl.conf

以下のように、syctlコマンドを使用して、現在のシステムベースのttlを読み書きできます。

$ sysctl net.ipv4.ip_default_ttl
net.ipv4.ip_default_ttl = 64
$ sudo sysctl net.ipv4.ip_default_ttl=99
net.ipv4.ip_default_ttl = 99
$ sysctl net.ipv4.ip_default_ttl
net.ipv4.ip_default_ttl = 99

関連情報