Ubuntu 18.04。 Ubuntuを単純なルーターとして使用する必要があります。
Ubuntuボックスには、ens33 DHCP、ens38 192.168.10.1/24の2つのインターフェイスがあります。私の目的では、33は外側、38は内側です。このボックスの背後には、192.168.10.xと192.168.20.xのネットワークがいくつかあります。これらのネットワークのいずれかから、ubuntuボックスの両方のインターフェースにpingを実行できます。外部インターフェイスを超えてpingを実行できません(33)。
/etc/sysctl.confを編集してipv4転送を許可しました-net.ipv4.ip_forward = 1。
38経由で他のネットワーク192.168.20.xへのゲートウェイを表示するルートを追加しました。
Natを探していない、ただルートします。
誰が私が行方不明になっているのを見ますか?さらに情報が必要かどうかを教えてください。
ダグ
他の誰かが同じシナリオを必要とする場合に備えて、私が探していた答えを投稿したかった。 AlexPは上記の正しい方向を示してくれました。外側のボックスは返信する方法を知らず、これを使用する可能性のあるすべてのネットワークにルートを追加する必要はありませんでした。
ルーティングが必要でしたが、NATも必要でした。
これらの手順はいくつかの異なるソースからまとめられていますが、主に- https://help.ubuntu.com/lts/serverguide/firewall.html <-ここにあるufw IPマカレディングセクションです。
ここからのCentOSの指示- https://ronnybull.com/2015/11/20/how-to-centos-7-router/ 。
Ubuntuボックスに内部および外部インターフェイスがあり、それらの設定が既に構成されていると想定しています。 (CentOS 7で同じことを達成するために、一番下に指示も追加しました-それも私の要件でした)
1。まず、ufwおよびufwロギングを有効にします
Sudo ufw enable
Sudo ufw logging on
2。既存のルールをフラッシュします(ファイアウォール用にすでにufwまたはIPテーブルを使用している場合は、これを行わないでください)。削除してフラッシュします。デフォルトのテーブルは「フィルター」です。 「nat」のような他のものは明示的に述べられなければなりません。
iptables --flush # Flush all the rules in filter and nat tables
iptables --table nat --flush
iptables --delete-chain # Delete all chains that are not in default filter and nat table
iptables --table nat --delete-chain
3。最初に、パケット転送をufwで有効にする必要があります。 2つの構成ファイルを調整する必要があります。/etc/default/ufwでDEFAULT_FORWARD_POLICYを「ACCEPT」に変更します。
DEFAULT_FORWARD_POLICY="ACCEPT"
4。次に、/ etc/ufw/sysctl.confを編集してコメント解除します。
net/ipv4/ip_forward=1
net/ipv4/conf/all/forwarding=1
net/ipv6/conf/default/forwarding=1 # if using IPv6
5。ここで、ルールを/etc/ufw/before.rulesファイルに追加します。デフォルトのルールはフィルタテーブルのみを設定し、マスカレードを有効にするにはnatテーブルを設定する必要があります。ファイルの先頭のヘッダーコメントの直後に次を追加します。
# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic from eth1 through eth0.
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT
各テーブルには、対応するCOMMITステートメントが必要です。これらの例では、natテーブルとfilterテーブルのみが示されていますが、rawテーブルとmangleテーブルのルールを追加することもできます。上記の例では、eth0、eth1、および192.168.0.0/24をネットワークの適切なインターフェイスとIP範囲に置き換えます。
6。最後に、ufwを無効にしてから再度有効にして、変更を適用します。
Sudo ufw disable && Sudo ufw enable
これで、IPマスカレードが有効になります。追加のFORWARDルールを/etc/ufw/before.rulesに追加することもできます。これらの追加ルールをufw-before-forwardチェーンに追加することをお勧めします。
同じことを達成するためのCentOS 7 firewalld config-
1。IPv4パケット転送を有効にします。
a。以下を/etc/sysctl.confに追加します。
net.ipv4.ip_forward = 1
b。 sysctl設定を適用します。
sysctl -p
2。firewalldに直接ルールを追加します。 --permanentオプションを追加して、再起動後もこれらのルールを保持します。
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o eth_ext -j MASQUERADE
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth_int -o eth_ext -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth_ext -o eth_int -m state --state RELATED,ESTABLISHED -j ACCEPT
a。以下を/etc/sysctl.confに追加します。
net.ipv4.ip_forward = 1
b。 sysctl設定を適用します。
sysctl -p
2。firewalldに直接ルールを追加します。 --permanentオプションを追加して、再起動後もこれらのルールを保持します。
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o eth_ext -j MASQUERADE
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth_int -o eth_ext -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth_ext -o eth_int -m state --state RELATED,ESTABLISHED -j ACCEPT