使っています曲球私のAndroid携帯電話からLinuxコンピュータと携帯電話の間でファイルを転送します。
アプリケーションは、42001
初期接続と42000
データ転送にポートを使用します。私はそれがTCPを使用すると信じています。
私はnftablesをファイアウォールとして使用しており、最近ファイアウォールから切り替えました。私はまだnftableを完全にマスターしていません。
42000,42001
アプリケーションを起動する前に、マイコンピュータでこれら2つのポートを一時的に許可し、完了したらポートを閉じたいと思います。
既存のルールを引き続き一時的に追加し、可能であればbash / nftスクリプトを使用して削除したいと思います。
可能ですか?
洞察力のあるご案内に感謝します。
私のシステムには、次の簡単な基本構成があります。/etc/nftables.conf
#!/usr/bin/nft -f
# vim:set ts=2 sw=2 et:
# IPv4/IPv6 Simple & Safe firewall ruleset.
# More examples in /usr/share/nftables/ and /usr/share/doc/nftables/examples/.
table inet filter
delete table inet filter
table inet filter {
chain input {
type filter hook input priority filter
policy drop
ct state invalid drop comment "early drop of invalid connections"
ct state {established, related} accept comment "allow tracked connections"
iifname lo accept comment "allow from loopback"
ip protocol icmp accept comment "allow icmp"
meta l4proto ipv6-icmp accept comment "allow icmp v6"
tcp dport ssh accept comment "allow sshd"
pkttype host limit rate 5/second counter reject with icmpx type admin-prohibited
counter
}
chain forward {
type filter hook forward priority filter
policy drop
}
}
事前にありがとう
ベストアンサー1
この場合、私がしなければならないのは、一時アクセス用のチェーンを構成することです。
以下では、「テーブル」は「フィルタ」(あなたの例に基づいています)であり、これらの規則の識別子として「warpinator」を使用しています。 (たとえば、テーブル名はあまり重要ではなく、このように「予約語」を使用することは常に非常に混乱しています。)
# Create a new chain and counter for this purpose.
create chain inet filter warpinator
add counter inet filter warpinator
# add a rule to the chain
add rule inet filter warpinator tcp dport { 42000, 42001 } log prefix "WARPINATOR: " counter name "warpinator" accept
# insert a 'jump' condition to your input chain to inspect traffic
add rule inet filter input jump warpinator
これにより、次のインバウンドトラフィックが有効になります。どのソースをこのポートに接続します。
これにより、これをより積極的に制限できます。
add rule inet filter warpinator tcp dport { 42000, 42001 } ip saddr 192.168.0.0/24 ....
これにより、そのアドレス範囲(192.168.0.1-192.168.0.255)内のアドレスに制限されます。 「ホーム」ネットワーク範囲を選択しますか?
これをnftスクリプト(おそらく/ etc / nftables?)として保存すると、次のことができます。
main.nft
あなたの行の1つにそれを含めてくださいinclude
。- 一時的に実行してみてください
nft -f <script>
「nft」構成に含まれているので、delete table inet filter
それを再ロードしてルールを再び削除できます。nft -f <main policy>
または、main.nftで定義されたチェーンを維持し、以下を有効にすることもできます。
add rule inet filter input jump warpinator
必要なとき。
必要に応じてポリシーからルールを削除できますが、「ルールID」が必要なほど単純ではありません。
たとえば、次のようにします。
nft -a list ruleset
「ジャンプ」ルールの「処理ID」を探して処理番号別に削除してください。したがって、ポートを閉じるために「ベースライン」を再ロードするのが良い方法だと思います。