2つのネットワークグループを備えたVmwareESXi6.5に複数の仮想マシンがあります。
2つのネットワークインターフェイスを備えたCentO上にDHCPサーバーマシンを作成しました。
1/vmネットワークからネットワークを取得し、IPが割り当てられます。
2 /インターネットを備えたすべてのマシンが存在するインターネットネットワークへ
-マシンはインターフェース1でインターネットに接続し、正常に動作します。 8.8.8.8
などにpingを実行できます。
-単純なDHCPが/etc/dhcp/dhcpd.conf
ファイルで構成され、「インターネット」ネットワーク内のマシンのアドレスを正しく提供します
-DHCPアドレスを取得したインターネットサブネット内のマシンは、相互にpingを実行でき、競合はまったくありません。
DHCPマシン(CentOS)で、IPを使用して別のプロファイルネットワークens192
を作成しました192.168.0.1
、マスク255.255.255.0
、デフォルトゲートウェイなし。
ファイル内dhcpd.conf
(もちろんオプションのドメイン名があります)
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1; //same as ens192
option subnet-mask 255.255.255.0;
#option routers 192.168.0.254 //tried with .254 gw
range 192.168.0.10 192.168.0.200;
}
DHCPマシンから、8.8.8.8
と、DHCPサーバーによって割り当てられたDHCPアドレスを取得した別のマシンにpingを実行できます。
次に、DHCPが割り当てられた1台のマシンを確認します。そのUbuntuマシン。割り当てられたアドレス:192.168.0.46
。 192.168.0.1
を含む各マシンにpingを実行できますが、8.8.8.8
はできません。
何が悪いのかわかりません。
編集:
その間に、DHCPサーバーの構成を192.168.1.1
に変更し、範囲を192.168.1.10-.200
に変更しました。
Ubuntuマシン:
ip addr showinet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic ens160
ip routedefault via 192.168.1.1 dev ens160 proto static metric 100 192.168.1.0/24 dev ens160 proto kernel scope link src 192.168.1.10 metric 100
CentOS 7.3 DHCPマシン:
つまり、投稿内のすべての行が表示されます。
ルーティングを有効にしましたsysctl -w net.ipv4.ip_forward=1
、それをsysctl.d/ip_forward.conf
に追加しましたecho "net.ipv4.ip_forward=1" >> /etc/sysctl.d/ip_forward.conf
現時点でサービスを再開する必要がありますか?
有効なfirewalld:firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o ens192 -j MASQUERADE -s 192.168.1.0/24 success firewall-cmd --reload
Ubuntuマシンで再起動し、ping 8.8.8.8
:まだ何もありません:15 packets transmitted, 0 received, 100% packet loss
IP Forwardを構成し、NATを実行すると、問題が解決すると思いました...他にアイデアはありますか?ありがとうございました
DHCP構成が適切かどうかを確認するには、次の方法でIP設定を確認できます。
ip addr show
これにより、クライアントマシンインターフェイスで現在構成されているIPアドレスが表示されます。これは、例から、動作していることを示しています-192.168.0.46
次に、クライアントマシンの天気をチェックして、デフォルトゲートウェイが適切に設定されていることを確認できます。
ip route
これは次のように表示されます。
default via 192.168.0.1 dev eth0
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.46
デフォルトゲートウェイを示す最初の行。これが192.168.0.1に設定されている場合、DHCP構成の観点からゴールデンです。
あなたがチェックする必要がある最後のこと。 CentOSマシンでルーティングが有効になっていますか? Ubuntuマシンからインターネットにアクセスするには、CentOSをルーターとして構成するか、192.168.0.xネットワーク上に別のルーターを配置する必要があります。
クイックnダーティ-CentOSマシンの場合:ルーティングを有効にします:
sysctl -w net.ipv4.ip_forward=1
再起動後も永続的にするには、/ etc/sysctl.confを編集して、以下を追加します。
net.ipv4.ip_forward = 1
「外部」ネットワークのマスカレード(NAT)192.168.0.0/24へ:
Firewalldを有効にする:
systemctl start firewalld
firewall-cmd –permanent –direct –passthrough ipv4 -t nat -I POSTROUTING -o *** -j MASQUERADE -s 192.168.0.0/24
systemctl restart firewalld
***上記は、CentOSマシンの「外部」インターフェースである必要があります。
私も同様の問題を抱えていました。 UBUNTUサーバー18.04
私の解決策:NATの方法の1つは、IPTABLESを使用することです。
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
ここで、eth0は、インターネットが/ fromに入るインターフェイスです。
iptables --append FORWARD --in-interface eth1 -j ACCEPT
ここで、eth1は、内部LANに接続されているインターフェイスです。 (DHCPサーバーインターフェイス)
これで、クライアントは8.8.8.8にpingを実行できます。
より明確な参照については、このサイトを確認してください: https://www.howtoforge.com/nat_iptables
または公式ガイドは次のとおりです: https://help.ubuntu.com/community/Internet/ConnectionSharing