/[livecd-tools]/trunk/net-setup
Gentoo

Contents of /trunk/net-setup

Parent Directory Parent Directory | Revision Log Revision Log


Revision 28 - (show annotations) (download)
Fri Jan 28 19:21:32 2005 UTC (9 years, 5 months ago) by wolf31o2
File size: 3943 byte(s)
Initial changes to net-setup to make it modular.

1 # Copyright 1999-2004 Gentoo Technologies, Inc.
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo/src/livecd-tools/net-setup,v 1.9 2005/01/28 19:21:32 wolf31o2 Exp $
4
5 #!/bin/bash
6
7 if [ `whoami` != "root" ]; then
8 echo "net-setup: must be root to continue"
9 exit 1
10 fi
11
12 if [ -z ${1} ]; then
13 echo "net-setup: please specify a network interface"
14 exit 1
15 fi
16
17 [ ! -d /tmp/setup.opts ] && mkdir /tmp/setup.opts
18 cd /tmp/setup.opts
19
20 config_wireless() {
21 dialog --title "SSID" --inputbox "Please enter your SSID, or leave blank for selecting the nearest open network" 20 50 2> ${1}.SSID
22 SSID=`cat ${1}.SSID`
23 if [ -n "${SSID}" ]; then
24 dialog --title "WEP (Part 1)" --menu "Does your network use encryption?" 20 60 7 1 "Yes" 2 "No" 2> ${1}.WEP
25 WEP=`cat ${1}.WEP`
26 case ${WEP} in
27 1)
28 dialog --title "WEP (Part 2)" --menu "Are you entering your WEP key in HEX or ASCII?" 20 60 7 1 "HEX" 2 "ASCII" 2> ${1}.WEPTYPE
29 WEP_TYPE=`cat ${1}.WEPTYPE`
30 case ${WEP_TYPE} in
31 1)
32 dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in the form of XXXX-XXXX-XX for 64-bit or XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX for 128-bit" 20 50 2> ${1}.WEPKEY
33 WEP_KEY=`cat ${1}.WEPKEY`
34 if [ -n "${WEP_KEY}" -a -x /usr/sbin/iwconfig ]; then
35 /usr/sbin/iwconfig ${1} essid \"${SSID}\"
36 /usr/sbin/iwconfig ${1} key "${WEP_KEY}"
37 fi
38 ;;
39 2)
40 dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in ASCII form. This should be 5 or 13 characters for either 64-bit or 128-bit encryption, repectively" 20 50 2> ${1}.WEPKEY
41 WEP_KEY=`cat ${1}.WEPKEY`
42 if [ -n "${WEP_KEY}" -a -x /usr/sbin/iwconfig ]; then
43 /usr/sbin/iwconfig ${1} essid \"${SSID}\"
44 /usr/sbin/iwconfig ${1} key s:"${WEP_KEY}"
45 fi
46 ;;
47 esac
48 ;;
49 2)
50 /usr/sbin/iwconfig ${1} essid \"${SSID}\"
51 /usr/sbin/iwconfig ${1} key off
52 ;;
53 esac
54 fi
55 }
56
57 config_ip() {
58 dialog --title "TCP/IP setup" --menu "You can use DHCP to automatically configure a network interface or you can specify an IP and related settings manually. Choose one option:" 20 60 7 1 "Use DHCP to auto-detect my network settings" 2 "Specify an IP address manually" 2> ${1}.DHCP
59 DHCP=`cat ${1}.DHCP`
60 case ${DHCP} in
61 1)
62 /sbin/dhcpcd -t 10 ${1} &
63 ;;
64 2)
65 dialog --title "IP address" --inputbox "Please enter an IP address for ${1}:" 20 50 "192.168.1.1" 2> ${1}.IP
66 IP=`cat ${1}.IP`
67 BC_TEMP="`echo $IP|cut -d . -f 1`.`echo $IP|cut -d . -f 2`.`echo $IP|cut -d . -f 3`.255"
68 dialog --title "Broadcast address" --inputbox "Please enter a Broadcast address for ${1}:" 20 50 "${BC_TEMP}" 2> ${1}.BC
69 BROADCAST=`cat ${1}.BC`
70 dialog --title "Network mask" --inputbox "Please enter a Network Mask for ${1}:" 20 50 "255.255.255.0" 2> ${1}.NM
71 NETMASK=`cat ${1}.NM`
72 dialog --title "Gateway" --inputbox "Please enter a Gateway for ${1} (hit enter for none:)" 20 50 2> ${1}.GW
73 GATEWAY=`cat ${1}.GW`
74 dialog --title "DNS server" --inputbox "Please enter a name server to use (hit enter for none:)" 20 50 2> ${1}.DNS
75 DNS=`cat ${1}.DNS`
76 /sbin/ifconfig ${1} ${IP} broadcast ${BROADCAST} netmask ${NETMASK}
77 if [ -n "${GATEWAY}" ]; then
78 /sbin/route add default gw ${GATEWAY} dev $1 netmask 0.0.0.0 metric 1
79 fi
80 if [ -n "${DNS}" ]; then
81 echo "nameserver ${DNS}" > /etc/resolv.conf
82 else
83 : > /etc/resolv.conf
84 fi
85 ;;
86 esac
87 }
88
89 dialog --title "Network setup" --menu "This script is designed to setup both wired and wireless network settings. All questions below apply to the ${1} interface only. Choose one option:" 20 60 7 1 "My network is wireless" 2 "My network is wired" 2> ${1}.WIRED
90 WIRED_WIRELESS=`cat ${1}.WIRED`
91 case ${WIRED_WIRELESS} in
92 1)
93 config_wireless
94 config_ip
95 ;;
96 2)
97 config_ip
98 ;;
99 *)
100 exit 0
101 ;;
102 esac
103
104
105 echo "Type \"ifconfig\" to make sure the interface was configured correctly."
106
107 # vim: ts=4

Properties

Name Value
svn:eol-style native
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.20