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アドレスを記録したいと思います。
- ユーザーPC
- ネットワークサーバー
- ユーザーPC(NAT以降)
- 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:"
}
}
私の考えでは、いくつかの文やキーワードなどを追加する必要があるようです。このメタ行にどのように、何を追加する必要がありますか?私の考えは正しいですか?
誰でも私に教えていただければとても感謝しています。ありがとうございます。