私は時々インターネットへの接続(更新するため)を必要とするportabelデバイスを持っていますが、ほとんどはイーサネットケーブルを介してラップトップに直接接続して使用されます。ユーザーがルーターに接続されているときにdhcpipのプラグアンドプレイのメリットを享受しながら、dhcpサーバーが関与していない場合でもデバイスにアクセスできるようにしたい。
私は基本的にこれをやりたいのですが、systemd-networkdで:auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth0:0 iface eth0:0 inet static address 192.168.0.130 netmask 255.255.255.0
Systemd-networkdでこれを達成するにはどうすればよいですか?同じ結果を達成するためのより良い方法はありますか?
私はこれを次の構成で機能させることができました。
/etc/systemd/network/eth0.network
[Match]
Name=eth0
[Network]
DHCP=yes
DNS=8.8.8.8
DNS=8.8.4.4
[Address]
Label=eth0:0
Address=192.168.0.130/24
「ifconfig」にはDHCPアドレスが表示されないため、少し注意が必要ですが、journalctlを確認するか、「ip addr show」を使用すると、DHCPアドレスが表示されます。
# ifconfig
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.0.130 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::f0f7:36ff:fe00:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2721 errors:0 dropped:92 overruns:0 frame:0
TX packets:947 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:218362 (213.2 KiB) TX bytes:115488 (112.7 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:5680 errors:0 dropped:0 overruns:0 frame:0
TX packets:5680 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:460080 (449.2 KiB) TX bytes:460080 (449.2 KiB)
だが:
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope Host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope Host
valid_lft forever preferred_lft forever
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default
link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.0.130/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet 172.16.200.191/24 brd 172.16.200.255 scope global dynamic eth0
valid_lft 85430sec preferred_lft 85430sec
inet6 fe80::f0f7:36ff:fe00:1/64 scope link
valid_lft forever preferred_lft forever
Dhclient.confは次のように構成できます。
timeout 10;
lease {
interface "eth0";
fixed-address 10.0.0.10;
option subnet-mask 255.255.255.0;
}
interface "ep0" {
prepend domain-name-servers 10.0.0.1;
}
これにより、DHCPサーバーからIPアドレスを取得しなかった10秒後にタイムアウトするようにdhcpが構成され、/ 24ネットワークでアドレス10.0.0.10が与えられます。構成でDNSサーバーを設定することもできます。これは、この構成を取得したマニュアルページへのリンクです。
http://www.freebsd.org/cgi/man.cgi?query=dhclient.conf&sektion=5&n=1