1 |
# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_network.sh,v 1.11 2005-10-09 21:34:47 niro Exp $ |
# $Id$ |
2 |
# configures networkin on the host via mysql db settings |
# configures networking on the host via mysql db settings |
3 |
|
|
4 |
get_network_settings() |
get_network_settings() |
5 |
{ |
{ |
8 |
# all arrays: |
# all arrays: |
9 |
# -> hostname modules domain networking ip netmask dns gateway broadcast |
# -> hostname modules domain networking ip netmask dns gateway broadcast |
10 |
|
|
11 |
all=$(mysqldo "select hostname, |
all=$(mysqldo "select iface, |
12 |
|
hostname, |
13 |
module, |
module, |
14 |
domain, |
domain, |
15 |
networking, |
networking, |
17 |
netmask, |
netmask, |
18 |
dns, |
dns, |
19 |
gateway, |
gateway, |
20 |
broadcast, |
broadcast |
|
iface |
|
21 |
from cfg_network where serial='${ALX_SERIAL}'") |
from cfg_network where serial='${ALX_SERIAL}'") |
22 |
|
|
23 |
# split'em up and put 'em in an array |
# split'em up and put 'em in an array |
29 |
done |
done |
30 |
|
|
31 |
# and now put in usable var names and export them systemwide |
# and now put in usable var names and export them systemwide |
32 |
export ALX_HOSTNAME="${DB_NETWORK[0]:=NULL}" |
export ALX_IFACE="${DB_NETWORK[0]:=NULL}" |
33 |
export ALX_MODULE="${DB_NETWORK[1]:=NULL}" |
export ALX_HOSTNAME="${DB_NETWORK[1]:=NULL}" |
34 |
export ALX_DOMAIN="${DB_NETWORK[2]:=NULL}" |
export ALX_MODULE="${DB_NETWORK[2]:=NULL}" |
35 |
export ALX_NETWORKING="${DB_NETWORK[3]:=NULL}" |
export ALX_DOMAIN="${DB_NETWORK[3]:=NULL}" |
36 |
export ALX_IP="${DB_NETWORK[4]:=NULL}" |
export ALX_NETWORKING="${DB_NETWORK[4]:=NULL}" |
37 |
export ALX_NETMASK="${DB_NETWORK[5]:=NULL}" |
export ALX_IP="${DB_NETWORK[5]:=NULL}" |
38 |
export ALX_DNS="${DB_NETWORK[6]:=NULL}" |
export ALX_NETMASK="${DB_NETWORK[6]:=NULL}" |
39 |
export ALX_GATEWAY="${DB_NETWORK[7]:=NULL}" |
export ALX_DNS="${DB_NETWORK[7]:=NULL}" |
40 |
export ALX_BROADCAST="${DB_NETWORK[8]:=NULL}" |
export ALX_GATEWAY="${DB_NETWORK[8]:=NULL}" |
41 |
export ALX_IFACE="${DB_NETWORK[9]:=NULL}" |
export ALX_BROADCAST="${DB_NETWORK[9]:=NULL}" |
42 |
|
|
43 |
# the new mac address hack |
# the new mac address hack |
44 |
export ALX_FORCEMACTO=$(mysqldo "select forcemacto from cfg_network where serial='${ALX_SERIAL}'") |
export ALX_FORCEMACTO=$(mysqldo "select forcemacto from cfg_network where serial='${ALX_SERIAL}'") |
87 |
fi |
fi |
88 |
|
|
89 |
# update confd-networking default iface |
# update confd-networking default iface |
90 |
|
[ ! -d ${SETTINGSPATH} ] && install -d ${SETTINGSPATH} |
91 |
echo "${iface}" > ${SETTINGSPATH}/confd-networking |
echo "${iface}" > ${SETTINGSPATH}/confd-networking |
92 |
|
|
93 |
# hostname && hosts |
# hostname && hosts |
102 |
|
|
103 |
case ${ALX_NETWORKING} in |
case ${ALX_NETWORKING} in |
104 |
dhcp|DHCP) |
dhcp|DHCP) |
105 |
echo 'DHCP_PROG="/sbin/dhcpcd"' >> /etc/conf.d/net.${iface} |
echo 'DHCP_PROG="/sbin/udhcpc"' >> /etc/conf.d/net.${iface} |
106 |
# -k kills the dhcp-cache at system shutdown |
# -k kills the dhcp-cache at system shutdown |
107 |
# -z will not |
# -z will not |
108 |
echo 'DHCP_STOP="-z"' >> /etc/conf.d/net.${iface} |
echo 'DHCP_STOP=""' >> /etc/conf.d/net.${iface} |
109 |
#timeout after 10 seconds |
#timeout after 10 seconds |
110 |
echo 'DHCP_START="-t 10"' >> /etc/conf.d/net.${iface} |
echo 'DHCP_START="-t 10"' >> /etc/conf.d/net.${iface} |
111 |
;; |
;; |
138 |
echo "nameserver ${ALX_DNS}" > /etc/resolv.conf |
echo "nameserver ${ALX_DNS}" > /etc/resolv.conf |
139 |
fi |
fi |
140 |
|
|
|
# setup smb.conf (little sed magic:) |
|
|
# first get smb version ! |
|
|
local smbconf |
|
|
[[ $(smbd --version | cut -d' ' -f2) > 2.999 ]] && smbconf=smb3.conf || smbconf=smb.conf |
|
|
|
|
|
cat ${ALX_SKELETONS}/samba/${smbconf} > /etc/samba/smb.conf |
|
|
sed -i -e "s:\(workgroup = \).*:\1${ALX_DOMAIN}:" /etc/samba/smb.conf |
|
|
|
|
141 |
# wireless extensions |
# wireless extensions |
142 |
local value |
local value |
143 |
local var |
local var |
166 |
unset value |
unset value |
167 |
done |
done |
168 |
|
|
169 |
|
# setup wpa-driver (only zydas atm) |
170 |
|
[[ ${ALX_MODULE} = zd1211 ]] && \ |
171 |
|
echo "WIRELESS_WPA_DRIVER=zydas" >> /etc/conf.d/net.${iface} |
172 |
|
|
173 |
# unset all vars |
# unset all vars |
174 |
unset ALX_HOSTNAME |
unset ALX_HOSTNAME |
175 |
unset ALX_MODULE |
unset ALX_MODULE |