3 # network Bring up/down networking
5 # chkconfig: 2345 10 90
6 # description: Activates/Deactivates all network interfaces configured to \
11 # $Id: network,v 1.40 2000/11/16 15:58:54 baggins Exp $
14 NLS_DOMAIN="rc-scripts"
16 # Source function library.
17 . /etc/rc.d/init.d/functions
18 . /etc/sysconfig/network-scripts/.functions
20 [ ! -f /etc/sysconfig/network ] && exit 0
22 . /etc/sysconfig/network
24 # Check that networking is up.
25 is_no "${NETWORKING}" && exit 0
27 [ -x /sbin/ip ] || exit 0
30 # initialize networking:
31 # - check IPv4, IPv6, IPX can be handled by system
32 # - setup default IPv{4,6} interfaces policy like:
34 # - spoofig protection,
35 # - icmp echo ignore broadcasts,
36 # - setup lo interface
39 # Set UP loopback interface
42 # Modprobe needed devices
45 # Spoofing protection && dynamic IP && port range
47 ipv4_dynamic_ip_patch on
48 ipv4_local_port_range on
58 if is_yes "$IPX"; then
59 if [ ! -z $IPXAUTOPRIMARY ] ; then
60 /usr/bin/ipx_configure --auto_primary=$IPXAUTOPRIMARY
62 if [ ! -z $IPXAUTOFRAME ] ; then
63 /usr/bin/ipx_configure --auto_interface=$IPXAUTOFRAME
65 if [ ! -z "$IPXINTERNALNETNUM" -a "$IPXINTERNALNETNUM" != "0" ]; then
66 /usr/bin/ipx_internal_net add $IPXINTERNALNETNUM $IPXINTERNALNODENUM
73 # Set static ARP table
81 # deinitialize networking
82 # - down lo interface.
90 # Shut down rdisc daemon
93 # Spoofing protection && dynamic IP && port range
94 ipv4_anti_spoofing off
95 ipv4_dynamic_ip_patch off
96 ipv4_local_port_range off
101 # Set DOWN loopback interface
110 proc_net ipv4/ip_forward $TODO 1 0 IPV4_FORWARDING "IPv4 forwarding"
112 if is_yes "$IPV6_NETWORKING"; then
113 proc_net ipv6/conf/all/forwarding $TODO 1 0 IPV6_FORWARDING "IPv6 forwarding"
116 proc_net ipv4/conf/all/accept_redirects $TODO 1 0 IPV4_ACCEPT_ICMP_REDIR ""
117 proc_net ipv4/conf/all/accept_source_route $TODO 1 1 IPV4_ACCEPT_SOURCE_ROUTE ""
118 proc_net ipv4/conf/all/log_martians $TODO 1 0 IPV4_LOG_MARTIANS ""
119 proc_net ipv4/conf/all/mc_forwarding $TODO 1 0 IPV4_MULTICAST ""
120 proc_net ipv4/conf/all/proxy_arp $TODO 1 0 IPV4_PROXY_ARP ""
121 proc_net ipv4/conf/all/secure_redirects $TODO 1 1 IPV4_ACCEPT_ICMP_REDIR_GATE ""
122 proc_net ipv4/conf/all/send_redirects $TODO 1 1 IPV4_SEND_ICMP_REDIR ""
123 proc_net ipv4/icmp_echo_ignore_all $TODO 1 0 IPV4_IGN_ALL_ICMP ""
124 proc_net ipv4/icmp_echo_ignore_broadcasts $TODO 1 1 IPV4_IGN_CAST_ICMP ""
125 proc_net ipv4/ip_no_pmtu_disc $TODO 1 0 IPV4_MTU_DISCOVERY ""
126 proc_net ipv4/ip_masq_debug $TODO 1 0 IPV4_MASQ_DEBUGGING ""
127 proc_net ipv4/tcp_retrans_collapse $TODO 0 1 IPV4_RETRANS_COLLAPSE ""
128 proc_net ipv4/tcp_sack $TODO 0 1 IPV4_NO_SELECT_ACK ""
129 proc_net ipv4/tcp_timestamps $TODO 0 1 IPV4_NO_TIMESTAMPS ""
130 proc_net ipv4/tcp_stdurg $TODO 1 0 IPV4_RFC793 ""
131 proc_net ipv4/tcp_syncookies $TODO 1 0 IPV4_SYN_COOKIES ""
132 proc_net ipv4/tcp_window_scaling $TODO 1 0 IPV4_NO_WINDOW_SCALING ""
133 # ... and proc/net/ipv6 goodies
134 proc_net ipv6/conf/default/autoconf $TODO 0 1 IPV6_AUTOCONF ""
135 proc_net ipv6/conf/default/autoconf_route $TODO 0 1 IPV6_AUTOCONF_ROUTE ""
138 # find all the interfaces besides loopback.
139 # ignore aliases, alternative configurations, and editor backup files
141 interfaces=$((cd /etc/sysconfig/interfaces && ls -1 ifcfg* | \
142 egrep -v '(ifcfg-lo|:)' | egrep 'ifcfg-[a-z0-9]+$' | \
143 awk ' { gsub(/ifcfg-/,NIL); print $0 } ') 2> /dev/null)
144 interfaces_boot=$((cd /etc/sysconfig/interfaces && ls -1 ifcfg* | \
145 egrep -v '(ifcfg-lo|ifcfg-sit|ifcfg-atm|ifcfg-lec|:)' | egrep 'ifcfg-[a-z0-9]+$' | \
146 xargs egrep -l "ONBOOT=[^n][^o]" | \
147 awk ' { gsub(/ifcfg-/,NIL); print $0 } ') 2> /dev/null)
148 interfaces_sit_boot=$((cd /etc/sysconfig/interfaces && ls -1 ifcfg-sit* | \
149 egrep 'ifcfg-[a-z0-9]+$' | xargs egrep -l "ONBOOT=[^n][^o]" | \
150 awk ' { gsub(/ifcfg-/,NIL); print $0 } ') 2> /dev/null)
151 tunnels=$((cd /etc/sysconfig/interfaces && ls -1 tnlcfg-* | \
152 xargs egrep -l "ONBOOT=[^n][^o]" | \
153 awk ' { gsub(/tnlcfg-/,NIL); print $0 } ') 2> /dev/null)
155 # See how we were called.
160 for i in $interfaces_boot $interfaces_sit_boot ; do
164 for i in `find_ldap_interfaces` ; do
168 for i in $tunnels; do
170 /sbin/ifup tnlcfg-$i boot
175 touch /var/lock/subsys/network
178 for i in $tunnels; do
179 /sbin/ifdown tnlcfg-$i boot
180 /sbin/tnldown $i boot
183 for i in `find_ldap_interfaces` ; do
187 for i in $interfaces_sit_boot $interfaces_boot ; do
193 rm -f /var/lock/subsys/network
196 nls "Configured devices:"
197 echo "lo $interfaces"
198 nls "Configured tunnels:"
201 nls "Currently active devices and tunnels:"
202 /sbin/ip link show | awk -F":" ' (/UP/) { print $2 }' | xargs
209 echo "Usage: $0 {start|stop|restart|status}"
215 # This must be last line !
216 # vi:syntax=sh:tw=78:ts=8:sw=4