##// END OF EJS Templates
Add support for static network configuration.
Vincent Knecht -
r25:cb91ab1abbae
parent child
Show More
@@ -40,6 +40,33 Set default system locale and keyboard layout. This setting can also be changed
40 40 ##### `TIMEZONE`="Europe/Berlin"
41 41 Set default system timezone. All available timezones can be found in the `/usr/share/zoneinfo/` directory. This setting can also be changed inside the running OS using the `dpkg-reconfigure tzdata` command.
42 42
43 #### Networking settings
44 These settings are used to set up networking configuration in `/etc/systemd/network/eth.network`.
45
46 #####`ENABLE_DHCP`=true
47 Set the system to use DHCP. When set to "true", the following `NET_*` settings (used for static configuration) are ignored.
48
49 #####`NET_ADDRESS`=""
50 Set a static IPv4 or IPv6 address and its prefix, separated by "/", eg. "192.169.0.3/24".
51
52 #####`NET_GATEWAY`=""
53 Set the IP address for the default gateway.
54
55 #####`NET_DNS_1`=""
56 Set the IP address for the first DNS server.
57
58 #####`NET_DNS_2`=""
59 Set the IP address for the second DNS server.
60
61 #####`NET_DNS_DOMAINS`=""
62 Set the default DNS search domains to use for non fully qualified host names.
63
64 #####`NET_NTP_1`=""
65 Set the IP address for the first NTP server.
66
67 #####`NET_NTP_2`=""
68 Set the IP address for the second NTP server.
69
43 70 #### Basic system features:
44 71 ##### `ENABLE_CONSOLE`=true
45 72 Enable serial console interface. Recommended if no monitor or keyboard is connected to the RPi2. In case of problems fe. if the network (auto) configuration failed - the serial console can be used to access the system.
@@ -46,6 +46,18 PASSWORD=${PASSWORD:=raspberry}
46 46 DEFLOCAL=${DEFLOCAL:="en_US.UTF-8"}
47 47 TIMEZONE=${TIMEZONE:="Europe/Berlin"}
48 48
49 # Network settings
50 ENABLE_DHCP=${ENABLE_DHCP:=true}
51 # NET_* settings are ignored when ENABLE_DHCP=true
52 # NET_ADDRESS is an IPv4 or IPv6 address and its prefix, separated by "/"
53 NET_ADDRESS=${NET_ADDRESS:=""}
54 NET_GATEWAY=${NET_GATEWAY:=""}
55 NET_DNS_1=${NET_DNS_1:=""}
56 NET_DNS_2=${NET_DNS_2:=""}
57 NET_DNS_DOMAINS=${NET_DNS_DOMAINS:=""}
58 NET_NTP_1=${NET_NTP_1:=""}
59 NET_NTP_2=${NET_NTP_2:=""}
60
49 61 # APT settings
50 62 APT_PROXY=${APT_PROXY:=""}
51 63 APT_SERVER=${APT_SERVER:="ftp.debian.org"}
@@ -272,6 +284,10 cat <<EOM >$R/etc/hosts
272 284 127.0.0.1 localhost
273 285 127.0.1.1 ${HOSTNAME}
274 286 EOM
287 if [ "$NET_ADDRESS" != "" ] ; then
288 NET_IP=$(echo ${NET_ADDRESS} | cut -f 1 -d'/')
289 sed -i "s/^127.0.1.1/${NET_IP}/" $R/etc/hosts
290 fi
275 291
276 292 # Set up IPv6 hosts
277 293 if [ "$ENABLE_IPV6" = true ] ; then
@@ -289,6 +305,7 cat <<EOM >$R/etc/network/interfaces
289 305 # please configure your networks in '/etc/systemd/network/'
290 306 EOM
291 307
308 if [ "$ENABLE_DHCP" = true ] ; then
292 309 # Enable systemd-networkd DHCP configuration for interface eth0
293 310 cat <<EOM >$R/etc/systemd/network/eth.network
294 311 [Match]
@@ -300,7 +317,23 EOM
300 317
301 318 # Set DHCP configuration to IPv4 only
302 319 if [ "$ENABLE_IPV6" = false ] ; then
303 sed -i "s/=yes/=v4/" $R/etc/systemd/network/eth.network
320 sed -i "s/^DHCP=yes/DHCP=v4/" $R/etc/systemd/network/eth.network
321 fi
322 else # ENABLE_DHCP=false
323 cat <<EOM >$R/etc/systemd/network/eth.network
324 [Match]
325 Name=eth0
326
327 [Network]
328 DHCP=no
329 Address=${NET_ADDRESS}
330 Gateway=${NET_GATEWAY}
331 DNS=${NET_DNS_1}
332 DNS=${NET_DNS_2}
333 Domains=${NET_DNS_DOMAINS}
334 NTP=${NET_NTP_1}
335 NTP=${NET_NTP_2}
336 EOM
304 337 fi
305 338
306 339 # Enable systemd-networkd service
General Comments 0
Vous devez vous connecter pour laisser un commentaire. Se connecter maintenant