Annotation of /mcore-src/trunk/mcore-tools/daemon/client/include/network.client.class
Parent Directory | Revision Log
Revision 2032 -
(hide annotations)
(download)
Mon Aug 13 11:59:21 2012 UTC (11 years, 9 months ago) by niro
File size: 4483 byte(s)
Mon Aug 13 11:59:21 2012 UTC (11 years, 9 months ago) by niro
File size: 4483 byte(s)
-restart networking in MROOT environment
1 | niro | 1248 | # $Id$ |
2 | |||
3 | provide basic-networking | ||
4 | niro | 1260 | require basic-system |
5 | niro | 1248 | |
6 | help_network_hostname() | ||
7 | { | ||
8 | niro | 1348 | mecho "get network.hostname" |
9 | mecho " displays the current hostname" | ||
10 | mecho | ||
11 | niro | 1248 | mecho "set network.hostname [hostname]" |
12 | niro | 1348 | mecho " Sets the hostname of the system" |
13 | niro | 1248 | mecho " mcore - the local hostname" |
14 | } | ||
15 | |||
16 | niro | 1348 | get_network_hostname() |
17 | { | ||
18 | niro | 2026 | local val |
19 | |||
20 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] | ||
21 | then | ||
22 | val=$(hostname) | ||
23 | else | ||
24 | val=$(< /etc/hostname) | ||
25 | fi | ||
26 | |||
27 | rvecho "${val}" | ||
28 | niro | 1348 | } |
29 | |||
30 | niro | 1248 | # set_network_hostname $value |
31 | set_network_hostname() | ||
32 | { | ||
33 | local value="$1" | ||
34 | niro | 1260 | local CONFIG |
35 | niro | 1351 | local socket |
36 | local cookie | ||
37 | local authtype | ||
38 | |||
39 | niro | 1248 | [[ -z ${value} ]] && help_network_hostname && return 1 |
40 | |||
41 | niro | 1260 | CONFIG="/etc/hostname" |
42 | clearconfig | ||
43 | addconfig "${value}" | ||
44 | niro | 1248 | hostname "${value}" |
45 | niro | 1351 | |
46 | niro | 1605 | # update hosts file |
47 | CONFIG="/etc/hosts" | ||
48 | clearconfig | ||
49 | addconfig "127.0.0.1 localhost ${value}" | ||
50 | # add ipv6 defaults | ||
51 | addconfig "::1 ip6-localhost ip6-loopback" | ||
52 | addconfig "fe00::0 ip6-localnet" | ||
53 | addconfig "ff00::0 ip6-mcastprefix" | ||
54 | addconfig "ff02::1 ip6-allnodes" | ||
55 | addconfig "ff02::2 ip6-allrouters" | ||
56 | addconfig "ff02::3 ip6-allhosts" | ||
57 | |||
58 | niro | 1351 | # check for running x11 and recreate the xauth cookie with the correct hostname |
59 | if [[ ! -z $(pidof X) ]] | ||
60 | then | ||
61 | socket="${value}/unix${MCORE_XORG_DISPLAY}" | ||
62 | cookie=$(x11runas "xauth list | sed 's:.*\ \(.*\):\1:'") | ||
63 | authtype="MIT-MAGIC-COOKIE-1" | ||
64 | # add the new hostname to the xauthority file | ||
65 | x11runas "xauth add ${socket} ${authtype} ${cookie}" | ||
66 | fi | ||
67 | niro | 1248 | } |
68 | |||
69 | help_network_iface() | ||
70 | { | ||
71 | mecho "set network.iface [iface] [networking] [ip] [netmask] [broadcast] [network]" | ||
72 | mecho " iface - the interface name" | ||
73 | mecho " networking - may be 'static' or 'dhcp'" | ||
74 | mecho " ip, netmask, broadcast and network are optional and only required on static networking" | ||
75 | } | ||
76 | |||
77 | set_network_iface() | ||
78 | { | ||
79 | local iface="$1" | ||
80 | local networking="$2" | ||
81 | local ip="$3" | ||
82 | local netmask="$4" | ||
83 | local broadcast="$5" | ||
84 | local network="$6" | ||
85 | niro | 1260 | local CONFIG |
86 | niro | 2032 | local dhcp_prog |
87 | niro | 1248 | |
88 | [[ -z ${iface} ]] && help_network_iface && return 1 | ||
89 | [[ -z ${networking} ]] && help_network_iface && return 1 | ||
90 | |||
91 | niro | 1260 | if [[ ${networking} = static ]] |
92 | then | ||
93 | [[ -z ${ip} ]] && help_network_iface && return 1 | ||
94 | [[ -z ${netmask} ]] && help_network_iface && return 1 | ||
95 | [[ -z ${broadcast} ]] && help_network_iface && return 1 | ||
96 | [[ -z ${network} ]] && help_network_iface && return 1 | ||
97 | fi | ||
98 | niro | 1248 | |
99 | niro | 1260 | CONFIG="/etc/conf.d/net.${iface}" |
100 | clearconfig | ||
101 | addconfig 'ONBOOT="yes"' | ||
102 | |||
103 | niro | 1248 | case ${networking} in |
104 | static) | ||
105 | niro | 1260 | addconfig 'NETWORKING="static"' |
106 | addconfig "IP=\"${ip}\"" | ||
107 | addconfig "NETMASK=\"${netmask}\"" | ||
108 | addconfig "BROADCAST=\"${broadcast}\"" | ||
109 | addconfig "NETWORK=\"${network}\"" | ||
110 | niro | 1248 | ;; |
111 | |||
112 | dhcp) | ||
113 | niro | 1260 | addconfig 'NETWORKING="dhcp"' |
114 | niro | 1248 | ;; |
115 | esac | ||
116 | |||
117 | niro | 2032 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
118 | niro | 1248 | then |
119 | niro | 2032 | if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]] |
120 | then | ||
121 | set_system_service restart network "${iface}" | ||
122 | else | ||
123 | set_system_service start network "${iface}" | ||
124 | fi | ||
125 | niro | 1248 | else |
126 | niro | 2032 | case ${networking} in |
127 | static) | ||
128 | ifconfig "${iface}" "${ip}" netmask "${netmask}" broadcast "${broadcast}" | ||
129 | ;; | ||
130 | dhcp) | ||
131 | source /etc/conf.d/network | ||
132 | [[ ! -z $(pidof ${dhcp_prog}) ]] && killall ${DEFAULT_DHCP_PROG} | ||
133 | ${DEFAULT_DHCP_PROG} ${DEFAULT_DHCP_START} "${iface}" | ||
134 | ;; | ||
135 | esac | ||
136 | niro | 1248 | fi |
137 | } | ||
138 | |||
139 | niro | 1348 | help_network_gateway() |
140 | { | ||
141 | mecho "get network.gateway" | ||
142 | mecho " displays the current network gateway" | ||
143 | mecho | ||
144 | mecho "set network.gateway [ip]" | ||
145 | mecho " sets the network gateway to [ip]" | ||
146 | } | ||
147 | |||
148 | get_network_gateway() | ||
149 | { | ||
150 | local gw | ||
151 | gw=$(ip route | grep default | sed 's:.*via[[:space:]]\(.*\)[[:space:]]dev.*:\1:') | ||
152 | niro | 1646 | rvecho "${gw}" |
153 | niro | 1348 | } |
154 | |||
155 | niro | 1284 | set_network_gateway() |
156 | niro | 1248 | { |
157 | niro | 1284 | local value="$1" |
158 | niro | 1260 | local CONFIG |
159 | local i | ||
160 | |||
161 | niro | 1348 | [[ -z ${value} ]] && help_network_gateway && return 1 |
162 | |||
163 | niro | 1260 | CONFIG="/etc/conf.d/net.routes" |
164 | clearconfig | ||
165 | addconfig "default gw ${value}" | ||
166 | |||
167 | # delete other default gw first | ||
168 | for i in $(ip route | grep default | sed 's:.*via\ \(.*\)\ dev.*:\1:') | ||
169 | do | ||
170 | route del default gw "${i}" | ||
171 | done | ||
172 | route add default gw "${value}" | ||
173 | niro | 1248 | } |
174 | |||
175 | niro | 1348 | help_network_nameserver() |
176 | niro | 1248 | { |
177 | niro | 1348 | mecho "get network.nameserver" |
178 | mecho " displays the current nameserver of the system" | ||
179 | mecho | ||
180 | niro | 1351 | mecho "set network.nameserver [ip1] [ip2] .. [ipN]" |
181 | niro | 1348 | mecho " adds given ips as nameserver to the system" |
182 | } | ||
183 | |||
184 | get_network_nameserver() | ||
185 | { | ||
186 | local dns | ||
187 | local i | ||
188 | |||
189 | dns=$(grep nameserver /etc/resolv.conf | sed 's:.*[[:space:]]\(.*\):\1:g') | ||
190 | for i in ${dns} | ||
191 | do | ||
192 | niro | 1646 | rvecho "${i}" |
193 | niro | 1348 | done |
194 | } | ||
195 | |||
196 | set_network_nameserver() | ||
197 | { | ||
198 | niro | 1248 | local values="$@" |
199 | niro | 1260 | local CONFIG |
200 | local i | ||
201 | niro | 1248 | |
202 | niro | 1348 | [[ -z ${values} ]] && help_network_nameserver && return 1 |
203 | |||
204 | niro | 1260 | CONFIG="/etc/resolv.conf" |
205 | clearconfig | ||
206 | for i in ${values} | ||
207 | niro | 1248 | do |
208 | niro | 1260 | addconfig "nameserver ${i}" |
209 | niro | 1248 | done |
210 | } |