1 |
# $Id$ |
# $Id$ |
2 |
|
|
3 |
provide basic-networking |
provide basic-networking |
4 |
|
require basic-system |
5 |
|
|
6 |
help_network_hostname() |
help_network_hostname() |
7 |
{ |
{ |
13 |
set_network_hostname() |
set_network_hostname() |
14 |
{ |
{ |
15 |
local value="$1" |
local value="$1" |
16 |
|
local CONFIG |
17 |
[[ -z ${value} ]] && help_network_hostname && return 1 |
[[ -z ${value} ]] && help_network_hostname && return 1 |
18 |
|
|
19 |
echo "${value}" > /etc/hostname |
CONFIG="/etc/hostname" |
20 |
|
clearconfig |
21 |
|
addconfig "${value}" |
22 |
hostname "${value}" |
hostname "${value}" |
23 |
} |
} |
24 |
|
|
38 |
local netmask="$4" |
local netmask="$4" |
39 |
local broadcast="$5" |
local broadcast="$5" |
40 |
local network="$6" |
local network="$6" |
41 |
local config |
local CONFIG |
42 |
|
|
43 |
[[ -z ${iface} ]] && help_network_iface && return 1 |
[[ -z ${iface} ]] && help_network_iface && return 1 |
44 |
[[ -z ${networking} ]] && help_network_iface && return 1 |
[[ -z ${networking} ]] && help_network_iface && return 1 |
45 |
|
|
46 |
config=/etc/conf.d/net.${iface} |
if [[ ${networking} = static ]] |
47 |
echo 'ONBOOT="yes"' > ${config} |
then |
48 |
|
[[ -z ${ip} ]] && help_network_iface && return 1 |
49 |
|
[[ -z ${netmask} ]] && help_network_iface && return 1 |
50 |
|
[[ -z ${broadcast} ]] && help_network_iface && return 1 |
51 |
|
[[ -z ${network} ]] && help_network_iface && return 1 |
52 |
|
fi |
53 |
|
|
54 |
|
CONFIG="/etc/conf.d/net.${iface}" |
55 |
|
clearconfig |
56 |
|
addconfig 'ONBOOT="yes"' |
57 |
|
|
58 |
case ${networking} in |
case ${networking} in |
59 |
static) |
static) |
60 |
echo 'NETWORKING="static"' >> ${config} |
addconfig 'NETWORKING="static"' |
61 |
echo "IP=\"${ip}\"" >> ${config} |
addconfig "IP=\"${ip}\"" |
62 |
echo "NETMASK=\"${netmask}\"" >> ${config} |
addconfig "NETMASK=\"${netmask}\"" |
63 |
echo "BROADCAST=\"${broadcast}\"" >> ${config} |
addconfig "BROADCAST=\"${broadcast}\"" |
64 |
|
addconfig "NETWORK=\"${network}\"" |
65 |
;; |
;; |
66 |
|
|
67 |
dhcp) |
dhcp) |
68 |
echo 'NETWORKING="dhcp"' >> ${config} |
addconfig 'NETWORKING="dhcp"' |
69 |
#echo 'DHCP_PROG="/sbin/dhcpcd"' >> ${config} |
# addconfig 'DHCP_PROG="/sbin/udhcpc"' |
70 |
#echo 'DHCP_START="-t 10"' >> ${config} |
# addconfig 'DHCP_START="-t3 -T3 -q -b"' |
71 |
#echo 'DHCP_STOP="-k"' >> ${config} |
# addconfig 'DHCP_STOP=""' |
72 |
;; |
;; |
73 |
esac |
esac |
74 |
|
|
75 |
if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]] |
if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]] |
76 |
then |
then |
77 |
/etc/init.d/network restart "${iface}" |
set_system_service restart network "${iface}" |
78 |
else |
else |
79 |
/etc/init.d/network start "${iface}" |
set_system_service start network "${iface}" |
80 |
fi |
fi |
81 |
} |
} |
82 |
|
|
83 |
set_network_default_gw() |
set_network_default_gw() |
84 |
{ |
{ |
85 |
local value |
local value |
86 |
route add default gw ${value} |
local CONFIG |
87 |
echo "default gw ${value}" > /etc/conf.d/net.routes |
local i |
88 |
|
|
89 |
|
CONFIG="/etc/conf.d/net.routes" |
90 |
|
clearconfig |
91 |
|
addconfig "default gw ${value}" |
92 |
|
|
93 |
|
# delete other default gw first |
94 |
|
for i in $(ip route | grep default | sed 's:.*via\ \(.*\)\ dev.*:\1:') |
95 |
|
do |
96 |
|
route del default gw "${i}" |
97 |
|
done |
98 |
|
route add default gw "${value}" |
99 |
} |
} |
100 |
|
|
101 |
set_network_dns() |
set_network_dns() |
102 |
{ |
{ |
103 |
local values="$@" |
local values="$@" |
104 |
local dns |
local CONFIG |
105 |
|
local i |
106 |
|
|
107 |
:> /etc/resolv.conf |
CONFIG="/etc/resolv.conf" |
108 |
for dns in ${values} |
clearconfig |
109 |
|
for i in ${values} |
110 |
do |
do |
111 |
echo "${dns}" >> /etc/resolv.conf |
addconfig "nameserver ${i}" |
112 |
done |
done |
113 |
} |
} |