DHCPクライアントにはインターネットはありませんが、ゲートウェイをpingできます。

DHCPクライアントにはインターネットはありませんが、ゲートウェイをpingできます。

2つの仮想マシンがあります(ホストはWindowsにあります)。

  • DHCPサーバー(Debian)
  • クライアント(Debian)

問題は、クライアントがIPアドレスを受信し、両方のシステムが互いにpingすることができますが、クライアントがインターネットにアクセスできないことです。(ping 8.8.8.8は返されません)

  • 私のDHCPサーバーは「enp0s3」を介してインターネットに接続されています。ネットワークアドレス変換
  • 私のDHCPサーバーは次に接続されています。ホストのみ「enp0s9」経由。
  • 私のクライアントが接続されましたホストのみ「enp0s3」経由。

ネットワークの種類を間違って選択しましたか?

ifconfig -aDHCPサーバーから:

DHCP サーバーの <code>ifconfig -a</code>

ifconfig -a && ip route showクライアント側から: config -a && ip ルーティングがクライアントに表示される場合

/etc/dhcp/dhcpd.conf: dhcpd 構成ファイル

Debian で Windows ファイアウォールと iptables --flush を無効にしました。将来的には、仮想マシンクライアントをイーサネットに接続された物理マシンに置き換えたいと思います。

私はクライアントにIPアドレス、マスク、ゲートウェイを提供します。ゲートウェイの問題のようですが、クライアントからインターネットにアクセスする方法がわかりません。

ベストアンサー1

enp0s9からenp0s3へのトラフィックを転送するには、IP転送を有効にしてiptablesを使用する必要があります。

#!/bin/sh

PATH=/usr/sbin:/sbin:/bin:/usr/bin

#
# delete all existing rules.
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT


# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! enp0s3 -j ACCEPT
iptables -A FORWARD -i enp0s3 -o enp0s9 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i enp0s9 -o enp0s3 -j ACCEPT

# Masquerade.
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

# Don't forward from the outside to the inside.
iptables -A FORWARD -i enp0s3 -o enp0s3 -j REJECT

# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward

源泉:https://debian-administration.org/article/23/Setting_up_a_simple_Debian_gateway

おすすめ記事