web-dev-qa-db-ja.com

コンピューターはDHCPサーバーからIPを取得しますが、インターネット接続がありません

Ubuntu 12.10にisc-dhcp-serverをインストールしましたが、ローカルネットワークの6台のワーカーコンピューターのヘッドノードにDHCPサーバーをセットアップしようとしています。ヘッドノード自体は、ネットワーク内の他のコンピューターから(eth0で)IPアドレス192.168.20.1を受信するDHCPクライアントです。

ヘッドノードでIPv4 IP転送が有効になっています。 /etc/sysctl.confに次の行が追加されました:

net.ipv4.ip_forward = 1

/etc/rc.localには次のルールが設定されています。

/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE

さらに、INTERFACES="eth0"は/ etc/default/isc-dhcp-serverに設定されています。

Dhcpd.confファイルには次の内容が含まれています(現時点では、ファイルには1台のワーカーコンピューターしかありません)

ddns-update-style none;

default-lease-time 3600;
max-lease-time 7200;

authoritative;

subnet 192.168.20.0 netmask 255.255.255.0 {
  range 192.168.20.2 192.168.20.200
  Host hostName {
    hardware ethernet macOfHost;
    fixed-address 192.168.20.20;
  }
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.20.255;
  option routers 192.168.20.1;
}

ワーカーノードは実質的にIPアドレス192.168.20.20を取得しますが、インターネット接続はありません。 192.168.20.1へのpingと、ヘッドノードのDHCPサーバーとして機能するコンピューターへのping(192.168.1.1へのping)が成功します。この問題は、IPアドレス(8.8.4.4など)へのpingが失敗したため、DNSとは関係がないようです。

更新

ネットワークトポロジは次のとおりです。コンピューター(インターネットアクセスがあり、DHCPサーバーを実行し、IPアドレス192.168.1.1)と他の7台のコンピューターを接続するスイッチがあります。これらの7台のコンピューターのいずれかが192.168.1.1コンピューターからIPを取得します。取得するIPは192.168.20.1で、そのコンピューターのインターネットは正常に機能します。これで、他の6台のコンピューターにインターネットアクセスを提供するために、192.168.20.1でDHCPサーバーが実行されましたが、失敗します。 IPアドレスを取得しますが、インターネットにアクセスできません。 192.168.1.1ノードの変更は許可されていないため、この設定でインターネットを機能させることは可能です。

誰かが問題が何であるかを知っていますか?

クライアントでの/ sbin/route -nの出力:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.20.1    0.0.0.0         UG    0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
192.168.20.0    0.0.0.0         255.255.255.0   U     1      0        0 eth1

Sudo iptablesの出力-L -v -n:チェーンINPUT(ポリシーACCEPT 2146パケット、1551Kバイト)pktsバイトターゲットプロトオプトインソースの宛先

Chain FORWARD (policy ACCEPT 59 packets, 3762 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 1908 packets, 213K bytes)
 pkts bytes target     prot opt in     out     source               destination

ip ro shの出力 192.168.1.1を介したデフォルトdev eth0 proto static 169.254.0.0/16 dev eth0スコープリンクメトリック1000 192.168.0.0/16 dev eth0 protoカーネルスコープリンクsrc 192.168.20.1メトリック1

3
user2611216

現在、すべてが機能しています。 DNSの問題であることが判明しました。 option routersからoption routers 192.168.1.1問題を修正しました。 pingはネットワークのどこかでブロックされているはずです。応答が届かなかったためですが、ブラウザーで特定のIPアドレスにサーフィンできたため、DNSに問題があることに気付きました。皆さんの助けに感謝します。

0
user2611216

私のコメントごとに...

Eth0とeth1の両方で同じIPを使用しようとしています。

Eth1のサブネットを10.10.0.0 /255.255.255.0のように変更すると、すべてが設定されます。

0
Doon

転送を有効にする必要があります。

sysctl -w net.ipv4.ip_forward=1

上記の行はすぐに機能します。ただし、次回システムを再起動したときに失われます。

永続的な設定の場合、以下を/etc/sysctl.confに入れます(ただし、再起動後にのみ有効になります):

net.ipv4.ip_forward=1
0
umläute

Ubuntuのドキュメントでは、接続共有ガイドでかなり詳しく説明しています。

https://help.ubuntu.com/community/Internet/ConnectionSharing

0
Chris Montanaro