routing revision 117032
11638Srgrimes#!/bin/sh 21638Srgrimes# 31638Srgrimes# Configure routing and miscellaneous network tunables 41638Srgrimes# 51638Srgrimes# $FreeBSD: head/etc/rc.d/routing 117032 2003-06-29 17:59:09Z mtm $ 61638Srgrimes# 71638Srgrimes 81638Srgrimes# PROVIDE: routing 91638Srgrimes# REQUIRE: netif ppp-user 101638Srgrimes# KEYWORD: FreeBSD 111638Srgrimes 121638Srgrimes. /etc/rc.subr 131638Srgrimes 141638Srgrimesname="routing" 151638Srgrimesstart_cmd="routing_start" 161638Srgrimesstop_cmd="routing_stop" 171638Srgrimesextra_commands="options static" 181638Srgrimesstatic_cmd="static_start" 191638Srgrimesoptions_cmd="options_start" 201638Srgrimes 211638Srgrimesrouting_start() 221638Srgrimes{ 231638Srgrimes static_start 241638Srgrimes options_start 251638Srgrimes} 261638Srgrimes 271638Srgrimesrouting_stop() 281638Srgrimes{ 291638Srgrimes route -n flush 301638Srgrimes} 311638Srgrimes 321638Srgrimesstatic_start() 331638Srgrimes{ 341638Srgrimes case ${defaultrouter} in 351638Srgrimes [Nn][Oo] | '') 361638Srgrimes ;; 371638Srgrimes *) 381638Srgrimes static_routes="default ${static_routes}" 391638Srgrimes route_default="default ${defaultrouter}" 401638Srgrimes ;; 411638Srgrimes esac 421638Srgrimes 431638Srgrimes # Setup static routes. This should be done before router discovery. 441638Srgrimes # 451638Srgrimes if [ -n "${static_routes}" ]; then 461638Srgrimes for i in ${static_routes}; do 471638Srgrimes eval route_args=\$route_${i} 481638Srgrimes route add ${route_args} 491638Srgrimes done 501638Srgrimes fi 511638Srgrimes} 521638Srgrimes 531638Srgrimesoptions_start() 541638Srgrimes{ 551638Srgrimes echo -n 'Additional routing options:' 561638Srgrimes case ${tcp_extensions} in 571638Srgrimes [Yy][Ee][Ss] | '') 581638Srgrimes ;; 591638Srgrimes *) 601638Srgrimes echo -n ' tcp extensions=NO' 611638Srgrimes sysctl net.inet.tcp.rfc1323=0 >/dev/null 621638Srgrimes ;; 631638Srgrimes esac 641638Srgrimes 651638Srgrimes case ${icmp_bmcastecho} in 661638Srgrimes [Yy][Ee][Ss]) 671638Srgrimes echo -n ' broadcast ping responses=YES' 681638Srgrimes sysctl net.inet.icmp.bmcastecho=1 >/dev/null 691638Srgrimes ;; 701638Srgrimes esac 711638Srgrimes 721638Srgrimes case ${icmp_drop_redirect} in 731638Srgrimes [Yy][Ee][Ss]) 741638Srgrimes echo -n ' ignore ICMP redirect=YES' 751638Srgrimes sysctl net.inet.icmp.drop_redirect=1 >/dev/null 761638Srgrimes ;; 771638Srgrimes esac 781638Srgrimes 791638Srgrimes case ${icmp_log_redirect} in 801638Srgrimes [Yy][Ee][Ss]) 811638Srgrimes echo -n ' log ICMP redirect=YES' 821638Srgrimes sysctl net.inet.icmp.log_redirect=1 >/dev/null 831638Srgrimes ;; 841638Srgrimes esac 851638Srgrimes 861638Srgrimes case ${gateway_enable} in 871638Srgrimes [Yy][Ee][Ss]) 881638Srgrimes echo -n ' IP gateway=YES' 891638Srgrimes sysctl net.inet.ip.forwarding=1 >/dev/null 901638Srgrimes ;; 911638Srgrimes esac 921638Srgrimes 931638Srgrimes case ${forward_sourceroute} in 941638Srgrimes [Yy][Ee][Ss]) 951638Srgrimes echo -n ' do source routing=YES' 961638Srgrimes sysctl net.inet.ip.sourceroute=1 >/dev/null 971638Srgrimes ;; 981638Srgrimes esac 991638Srgrimes 1001638Srgrimes case ${accept_sourceroute} in 1011638Srgrimes [Yy][Ee][Ss]) 1021638Srgrimes echo -n ' accept source routing=YES' 1031638Srgrimes sysctl net.inet.ip.accept_sourceroute=1 >/dev/null 1041638Srgrimes ;; 1051638Srgrimes esac 1061638Srgrimes 1071638Srgrimes case ${tcp_keepalive} in 1081638Srgrimes [Nn][Oo]) 1091638Srgrimes echo -n ' TCP keepalive=NO' 1101638Srgrimes sysctl net.inet.tcp.always_keepalive=0 >/dev/null 1111638Srgrimes ;; 1121638Srgrimes esac 1131638Srgrimes 1141638Srgrimes case ${tcp_drop_synfin} in 1151638Srgrimes [Yy][Ee][Ss]) 1161638Srgrimes echo -n ' drop SYN+FIN packets=YES' 1171638Srgrimes sysctl net.inet.tcp.drop_synfin=1 >/dev/null 1181638Srgrimes ;; 1191638Srgrimes esac 1201638Srgrimes 1211638Srgrimes case ${ipxgateway_enable} in 1221638Srgrimes [Yy][Ee][Ss]) 1231638Srgrimes echo -n ' IPX gateway=YES' 1241638Srgrimes sysctl net.ipx.ipx.ipxforwarding=1 >/dev/null 1251638Srgrimes ;; 1261638Srgrimes esac 1271638Srgrimes 1281638Srgrimes case ${arpproxy_all} in 1291638Srgrimes [Yy][Ee][Ss]) 1301638Srgrimes echo -n ' ARP proxyall=YES' 1311638Srgrimes sysctl net.link.ether.inet.proxyall=1 >/dev/null 1321638Srgrimes ;; 1331638Srgrimes esac 1341638Srgrimes 1351638Srgrimes case ${ip_portrange_first} in 1361638Srgrimes [Nn][Oo] | '') 1371638Srgrimes ;; 1381638Srgrimes *) 1391638Srgrimes echo -n " ip_portrange_first=$ip_portrange_first" 1401638Srgrimes sysctl net.inet.ip.portrange.first=$ip_portrange_first >/dev/null 1411638Srgrimes ;; 1421638Srgrimes esac 1431638Srgrimes 1441638Srgrimes case ${ip_portrange_last} in 1451638Srgrimes [Nn][Oo] | '') 1461638Srgrimes ;; 1471638Srgrimes *) 1481638Srgrimes echo -n " ip_portrange_last=$ip_portrange_last" 1491638Srgrimes sysctl net.inet.ip.portrange.last=$ip_portrange_last >/dev/null 1501638Srgrimes ;; 1511638Srgrimes esac 1521638Srgrimes 1531638Srgrimes echo '.' 1541638Srgrimes} 1551638Srgrimes 1561638Srgrimesload_rc_config $name 1571638Srgrimesrun_rc_command "$1" 1581638Srgrimes