web-dev-qa-db-ja.com

DHCPがインターネットアクセスを共有していない

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.46192.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を実行すると、問題が解決すると思いました...他にアイデアはありますか?ありがとうございました

2
Slideroh

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マシンの「外部」インターフェースである必要があります。

0
Flash

私も同様の問題を抱えていました。 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

0
SIRAJ SHAIK