Ubuntu 18.04 Serverで内部ネットワークと外部ネットワークを構成する際に問題があります。状況は、WLAN接続デバイスのIPアドレスをリースするDHCPサービスを持つゲートウェイデバイスがあることです。ゲートウェイデバイスeth0のIPアドレスは192.168.1.120で、ゲートウェイデバイスwlan0は固定IPアドレス10.10.0.1を持ち、最初のwlanクライアントは10.10.0.2 IPアドレスを取得します。ゲートウェイデバイスeth0はインターネットにアクセスできます。ただし、wlan0に接続されているデバイスは、MySqlやカスタムREST APIなどのゲートウェイデバイスサービスにのみアクセスできる必要があります。
ルール1:ゲートウェイデバイスはインターネットにアクセスできる必要があります。
[eth0]<-->[インターネット]
ルール2:WLANに接続されているデバイスは、ゲートウェイデバイスサービスにのみアクセスできます。
[Wlanクライアント]<-->[wlan0]<-->[eth0]--||アクセス不可||--[インターネット]
私がしたことは、Ubuntu 18.04 Serverをインストールし、基本サービスをインストールしたことです。これでネットワーク制限を作成する必要があります。
wlan0 接続されたデバイスがゲートウェイデバイスサービスを使用できるように、次の設定を完了しました。また、wlan0で接続されたデバイスは、制限が必要なインターネットにもアクセスできます。
/etc/sysctl.conf
net.ipv4.ip_forward=1
iptablesの設定
iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables-save > /etc/iptables/rules.v4
iptables-restore < /etc/iptables/rules.v4
誰でも整理するのに役立ちますか?
答え1
FORWARD
問題を解決するには、テーブルのチェーンを使用する必要がありますfilter
。このFORWARD
テーブルは、ホストに出入りするすべてのパケットをフィルタリングするために使用されます。 (代わりに、INPUT
テーブルは着信トラフィック用で、OUTPUT
テーブルは発信トラフィック用です。)実際には2つの方法があります。
1/すべてのトラフィックを制限し、必要に応じて開きます。
iptables -t filter -P FORWARD DROP
iptables -t filter -A FORWARD [your rule #1 to match allowed streams(s)] -j ACCEPT
2/アクセスを制限したいデバイスにのみトラフィックを制限します。
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -A FORWARD [your rule #1 to match forbidden stream(s)] -j REJECT --reject-with admin-prohib
一般に、良いセキュリティ慣行が最初のアプローチです。