DHCPサーバーで自動デフォルトパスを無効にする

DHCPサーバーで自動デフォルトパスを無効にする

こんにちは。 Raspberry PIをdhcpサーバーとして構成しようとしています。私の考えは、eth0インターフェイスを介してスイッチを接続し、他のデバイスをスイッチに接続できることです。しかし、まだwlan0を介してsshとインターネットアクセスを維持したいと思います。

これを達成するために、isc-dhcp-serverをインストールし、静的IPアドレスの設定を追加しました。/etc/network/interfaces.d/eth0

allow-hotplug eth0
iface eth0 inet static
  address 10.0.0.1
  netmask 255.255.255.0
  broadcast 10.0.0.255
  gateway 10.0.0.1

次に、dhcpサーバーの構成をファイルに追加しました。/etc/dhcp/dhcpd.conf:

authorative
subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.1 10.0.0.10;
  option subnet-mask 255.255.255.0;
  option broadcast-address 10.0.0.255;
  option routers 10.0.0.1;
  option domain-name "local-network";
  option domain-name-servers 8.8.8.8, 8.8.4.4;
}

その後、Raspberry PIを再起動しましたが、すべてが大丈夫に見えました。 WiFi経由でマイコンピュータから接続でき、スイッチに接続された他のコンピュータは10.0.0.2から10.0.0.10までIPアドレスを取得しました。設定されたRaspberry PIを介して)。

最大の問題は、Raspberry PIからインターネットにアクセスできないことです。私が次のように入力したとき

ping 10.0.0.3

働くが

ping 8.8.8.8

失敗する。問題をデバッグした後、次のコマンドを使用して問題を見つけましたip route

default via 10.0.0.1 dev eth0 proto dhcp src 10.0.0.2 metric 202 
default via 192.168.0.1 dev wlan0 proto dhcp src 192.168.0.46 metric 303 
10.0.0.0/24 dev eth0 proto dhcp scope link src 10.0.0.2 metric 202 
192.168.0.0/24 dev wlan0 proto dhcp scope link src 192.168.0.46 metric 303

10.0.0.1を介してデフォルトパスを削除しようとしましたが、一時的に役に立ちましたが、しばらくすると、一部のプロセス(DHCPサーバーが疑われる)がそれを復元します。もちろん、常に削除するデーモンを書くこともできますが、より良い解決策を探しています。

アップデート#1

DHCP サーバーに次のものはip route表示されません。

default via 192.168.0.1 dev wlan0 proto dhcp src 192.168.0.46 metric 303 
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1 
169.254.0.0/16 dev eth0 scope link src 169.254.44.117 metric 202 
192.168.0.0/24 dev wlan0 proto dhcp scope link src 192.168.0.46 metric 303

事前にありがとう

ベストアンサー1

問題は実際にルーティングテーブルですが、ルーティングレコードを再インポートせずに正常に削除しました。

上記のように、Stretchのネットワーキング(Jessieに戻って考えてみると)が大きく変わりました。これ郵便はがき/etc/dhcpcd.conf代わりに、固定IP設定プロセスを案内するための指示が修正されました/etc/network/interfaces*。しかし、私の場合、static router=x.x.x.x私のアダプタの固定IPの変数をコメントアウトする方が良いことがわかりました。eth0なぜなら、それが私のデフォルトゲートウェイになることを望んでいなかったからです。その後、テーブルからパスを削除し、削除されたままip route del default via <address> dev eth0にしました。

しかし、ここでの作業はまだ完了していません。 DHCPサーバーに接続されている他のデバイスがインターネットに正常にアクセスできるようにするには、次の操作を実行してNATを設定する必要があります。

1)/etc/sysctl.conf次のトグルを使用して IP 転送を有効にするように編集します。 2)net.ipv4.ip_forward=1
転送と戻りのための/etc/rc.localiptableルールを追加するように編集します。以下を追加してください。eth0wlan0

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o eth0 -m state \
--state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

3) 変更を適用するには、再起動してください。

これで、Wi-Fi経由で他のデバイスにアクセスできるようになり、dhcpサーバーから割り当てられたIPで正常に動作します。

おすすめ記事