iptablesルールを使用すると、クライアントはすべてのサーバーでtftpダウンロードを実行できます。

iptablesルールを使用すると、クライアントはすべてのサーバーでtftpダウンロードを実行できます。

私の目標は、このLinuxシステムでiptables関連の操作を1つだけ許可することです。これがすべてのサーバーでtftpダウンロードを可能にすることです。これは私のルールですが、うまくいかないようです。 これが私のLinuxボックスがサーバーであるという意味ではないことを強調する必要があります。私のボックスはTFTPサーバーからダウンロードを試みるクライアントです。

#iptables -S 
-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p udp -m state --state RELATED -j ACCEPT
-A INPUT -p udp -m udp --dport 69 -m state --state NEW -j ACCEPT

tftp ダウンロードしようとするとタイムアウトします。

tftp -g -r /asd.txt  10.0.0.148 

tftpダウンロードがこれらの規則に準拠していることを確認しました。

root@kp3:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

TFTPダウンロードを許可するように私のルールを変更するのに役立ちますか?

ベストアンサー1

TFTPを許可することはあまり意味がありません。どのサーバーでもしかし、それがあなたが望むものなら、ここに必要なものがあります。

iptables -I INPUT -p udp -j ACCEPT
iptables -I OUTPUT -p udp -j ACCEPT

しかし、私の考えでは、あなたはそれが好きではないと思います。

からの説明ですhttps://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol#Overview(強調は私のもの)

TFTPはUDPをトランスポートプロトコルとして使用します。転送要求は常にポート69に対して開始されますが、データ転送ポートは、送信初期化中に送信者と受信者が独立して選択する。これらのポートは通常、さまざまな一時ポートからネットワークスタックのパラメータに基づいてランダムに選択されます。

これはより正式な定義です。RFC 1350セクション4段落2

おすすめ記事