ファイアウォールSNATを使用してIPアドレスを記録する方法は?

ファイアウォールSNATを使用してIPアドレスを記録する方法は?

NATルーターが次のように見えるように、CentOS 8 PCでファイアウォールを使用してSNATを設定しようとしています。

ユーザーはCentOS8を介してWebサーバーにアクセスします。

[UserPC]---(192.168.0.0/24)---[CentOS 8]---(10.0.0.0/24)---[Web Server]

ファイアウォールデバイスのように、1行に4つのIPアドレスを記録したいと思います。

  1. ユーザーPC
  2. ネットワークサーバー
  3. ユーザーPC(NAT以降)
  4. Webサーバー(NAT以降、この場合はDNATを使用しません。)

/var/log/firewallファイルで1.UserPCと2.WebServerを見つけました。ただし、「3.UserPC(NAT後)」と「4.Web Server(NAT後)」はログできません。

私のCentOS8 PCには2つのネットワークカードがあります。

  • 内部インタフェース: 192.168.0.1/24
  • 外部I/F:10.0.0.1/24、10.0.0.2/24、10.0.0.3/24(IPアドレス3個)

私のファイアウォールのコマンドルールは次のとおりです。

ipv4 filter FORWARD 0 -i <Internal I/F> -o <External I/F> -j ACCEPT
ipv4 filter FORWARD 0 -m tcp -p tcp -j LOG --log-prefix 'FORWARD LOG:'
ipv4 filter FORWARD 0 -i <External I/F> -o <Internal I/F> -m state --state RELATED,ESTABLISHED -j ACCEPT
ipv4 nat PREROUTING 0 -m tcp -p tcp -j LOG --log-prefix 'PREROUTING LOG:'
ipv4 nat POSTROUTING 0 -s 192.168.0.0/24 -o <External I/F> -j SNAT --to-source 10.0.0.3
ipv4 nat POSTROUTING 0 -m tcp -p tcp -j LOG --log-prefix 'POSTROUTING LOG:'
ipv4 nat OUTPUT 0 -m tcp -p tcp -j LOG --log-prefix 'OUTPUT LOG:'

WebServerでaccess.logを確認しましたが、送信元IPアドレスは「10.0.0.3」です。ファイアウォールルールの順序が間違っているとは知らず、ルールの順序を変更しました。しかし、効果は良くありません。

次に、nftリストルールセットを確認し、次のルールを見つけました。

table ip nat {
    chain PREROUTING{
        blahblahblah
    }
    chain INPUT{
        blahblahblah
    }
    chain POSTROUTING{
        type nat hoook postrouting priority srcnat; policy accept;
        oifname "External I/F" ip saddr 192.168.0.0/24 counter packets 2 bytes 120 snat to 10.0.0.1
        meta l4proto tcp counter packets 100 bytes 0 log prefix "POSTROUTING LOG:"
    }
}

私の考えでは、いくつかの文やキーワードなどを追加する必要があるようです。このメタ行にどのように、何を追加する必要がありますか?私の考えは正しいですか?

誰でも私に教えていただければとても感謝しています。ありがとうございます。

ベストアンサー1

おすすめ記事