defaultroute revision 118908
1206274Srdivacky#!/bin/sh 2206274Srdivacky# 3206274Srdivacky# Configure routing and miscellaneous network tunables 4206274Srdivacky# 5206274Srdivacky# $FreeBSD: head/etc/rc.d/routing 118908 2003-08-14 15:27:32Z harti $ 6206274Srdivacky# 7206274Srdivacky 8206274Srdivacky# PROVIDE: routing 9206274Srdivacky# REQUIRE: netif ppp-user 10206274Srdivacky# KEYWORD: FreeBSD 11206274Srdivacky 12206274Srdivacky. /etc/rc.subr 13206274Srdivacky 14206274Srdivackyname="routing" 15206274Srdivackystart_cmd="routing_start" 16249423Sdimstop_cmd="routing_stop" 17249423Sdimextra_commands="options static" 18249423Sdimstatic_cmd="static_start" 19206274Srdivackyoptions_cmd="options_start" 20206274Srdivacky 21249423Sdimrouting_start() 22249423Sdim{ 23249423Sdim static_start 24249423Sdim options_start 25206274Srdivacky} 26206274Srdivacky 27224145Sdimrouting_stop() 28206274Srdivacky{ 29226633Sdim route -n flush 30206274Srdivacky} 31206274Srdivacky 32206274Srdivackystatic_start() 33226633Sdim{ 34206274Srdivacky case ${defaultrouter} in 35249423Sdim [Nn][Oo] | '') 36206274Srdivacky ;; 37206274Srdivacky *) 38218893Sdim static_routes="default ${static_routes}" 39218893Sdim route_default="default ${defaultrouter}" 40218893Sdim ;; 41218893Sdim esac 42218893Sdim 43218893Sdim # Setup static routes. This should be done before router discovery. 44218893Sdim # 45218893Sdim if [ -n "${static_routes}" ]; then 46243830Sdim for i in ${static_routes}; do 47218893Sdim eval route_args=\$route_${i} 48218893Sdim route add ${route_args} 49243830Sdim done 50218893Sdim fi 51218893Sdim # Now ATM static routes 52226633Sdim # 53218893Sdim if [ -n "${natm_static_routes}" ]; then 54218893Sdim for i in ${natm_static_routes}; do 55218893Sdim eval route_args=\$route_${i} 56218893Sdim atmconfig natm add ${route_args} 57218893Sdim done 58218893Sdim fi 59218893Sdim} 60226633Sdim 61218893Sdimoptions_start() 62218893Sdim{ 63218893Sdim echo -n 'Additional routing options:' 64218893Sdim case ${tcp_extensions} in 65218893Sdim [Yy][Ee][Ss] | '') 66226633Sdim ;; 67218893Sdim *) 68218893Sdim echo -n ' tcp extensions=NO' 69218893Sdim sysctl net.inet.tcp.rfc1323=0 >/dev/null 70206274Srdivacky ;; 71243830Sdim esac 72243830Sdim 73206274Srdivacky case ${icmp_bmcastecho} in 74218893Sdim [Yy][Ee][Ss]) 75206274Srdivacky echo -n ' broadcast ping responses=YES' 76206274Srdivacky sysctl net.inet.icmp.bmcastecho=1 >/dev/null 77206274Srdivacky ;; 78206274Srdivacky esac 79218893Sdim 80206274Srdivacky case ${icmp_drop_redirect} in 81206274Srdivacky [Yy][Ee][Ss]) 82206274Srdivacky echo -n ' ignore ICMP redirect=YES' 83206274Srdivacky sysctl net.inet.icmp.drop_redirect=1 >/dev/null 84206274Srdivacky ;; 85206274Srdivacky esac 86206274Srdivacky 87218893Sdim case ${icmp_log_redirect} in 88206274Srdivacky [Yy][Ee][Ss]) 89218893Sdim echo -n ' log ICMP redirect=YES' 90218893Sdim sysctl net.inet.icmp.log_redirect=1 >/dev/null 91206274Srdivacky ;; 92206274Srdivacky esac 93206274Srdivacky 94218893Sdim case ${gateway_enable} in 95243830Sdim [Yy][Ee][Ss]) 96218893Sdim echo -n ' IP gateway=YES' 97218893Sdim sysctl net.inet.ip.forwarding=1 >/dev/null 98218893Sdim ;; 99218893Sdim esac 100243830Sdim 101206274Srdivacky case ${forward_sourceroute} in 102206274Srdivacky [Yy][Ee][Ss]) 103218893Sdim echo -n ' do source routing=YES' 104206274Srdivacky sysctl net.inet.ip.sourceroute=1 >/dev/null 105206274Srdivacky ;; 106206274Srdivacky esac 107206274Srdivacky 108206274Srdivacky case ${accept_sourceroute} in 109206274Srdivacky [Yy][Ee][Ss]) 110206274Srdivacky echo -n ' accept source routing=YES' 111206274Srdivacky sysctl net.inet.ip.accept_sourceroute=1 >/dev/null 112218893Sdim ;; 113226633Sdim esac 114212904Sdim 115212904Sdim case ${tcp_keepalive} in 116224145Sdim [Nn][Oo]) 117224145Sdim echo -n ' TCP keepalive=NO' 118224145Sdim sysctl net.inet.tcp.always_keepalive=0 >/dev/null 119224145Sdim ;; 120224145Sdim esac 121224145Sdim 122224145Sdim case ${tcp_drop_synfin} in 123224145Sdim [Yy][Ee][Ss]) 124224145Sdim echo -n ' drop SYN+FIN packets=YES' 125226633Sdim sysctl net.inet.tcp.drop_synfin=1 >/dev/null 126263508Sdim ;; 127206274Srdivacky esac 128207618Srdivacky 129207618Srdivacky case ${ipxgateway_enable} in 130243830Sdim [Yy][Ee][Ss]) 131212904Sdim echo -n ' IPX gateway=YES' 132206274Srdivacky sysctl net.ipx.ipx.ipxforwarding=1 >/dev/null 133206274Srdivacky ;; 134212904Sdim esac 135212904Sdim 136206274Srdivacky case ${arpproxy_all} in 137207618Srdivacky [Yy][Ee][Ss]) 138206274Srdivacky echo -n ' ARP proxyall=YES' 139206274Srdivacky sysctl net.link.ether.inet.proxyall=1 >/dev/null 140243830Sdim ;; 141243830Sdim esac 142243830Sdim 143243830Sdim case ${ip_portrange_first} in 144243830Sdim [Nn][Oo] | '') 145243830Sdim ;; 146206274Srdivacky *) 147243830Sdim echo -n " ip_portrange_first=$ip_portrange_first" 148206274Srdivacky sysctl net.inet.ip.portrange.first=$ip_portrange_first >/dev/null 149218893Sdim ;; 150243830Sdim esac 151243830Sdim 152243830Sdim case ${ip_portrange_last} in 153243830Sdim [Nn][Oo] | '') 154243830Sdim ;; 155243830Sdim *) 156243830Sdim echo -n " ip_portrange_last=$ip_portrange_last" 157243830Sdim sysctl net.inet.ip.portrange.last=$ip_portrange_last >/dev/null 158218893Sdim ;; 159243830Sdim esac 160243830Sdim 161243830Sdim echo '.' 162243830Sdim} 163243830Sdim 164243830Sdimload_rc_config $name 165243830Sdimrun_rc_command "$1" 166243830Sdim