[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

How to set broadcasting ?



I need run script to shere internet connection, it use ipmask to set up interfaces. Could you show me how to set up it manualy or write script without ipmask which isn't supported by debian?
Best regards
Michal

script:
# --------------------- Configuration -----------------
# Interfaces
ETH0_IP="83.168.156.ab"
ETH0_NETMASK="255.255.255.0 "
ETH0_SUBINTERFACES=""
ETH0_PROXY_ARP=""

ETH1_IP="192.168.156.1"
ETH1_NETMASK="255.255.255.0 "
ETH1_SUBINTERFACES=""
ETH1_PROXY_ARP=""

ETH2_IP=""
ETH2_NETMASK=""
ETH2_SUBINTERFACES=""
ETH2_PROXY_ARP=""

# Proxy arp forwarding
PROXY_ARP_LAN=""
PROXY_ARP_WAN_IP=""
PROXY_ARP_WAN_NET=""
PROXY_ARP_ADDRESS=""

# Default gateway:
GATEWAY="83.168.156.1 "

# ------------------ Set up interfaces ----------------
function interfaces() {
if [ ! "$ETH0_IP" == "" ]; then
# Set up the ethernet card:
echo "Configuring eth0:"
BROADCAST=`/bin/ipmask $ETH0_NETMASK $ETH0_IP | cut -f 1 -d ' '`
echo "ifconfig eth0 $ETH0_IP broadcast $BROADCAST netmask $ETH0_NETMASK"
ifconfig eth0 $ETH0_IP broadcast $BROADCAST netmask $ETH0_NETMASK

for i in $ETH0_SUBINTERFACES
do
IF=`echo $i | cut -d':' -f1`
IP=`echo $i | cut -d':' -f2`
BROADCAST=`/bin/ipmask $ETH0_NETMASK $IP | cut -f 1 -d ' '`
echo "ifconfig eth0:${IF} $IP broadcast $BROADCAST netmask $ETH0_NETMASK"
ifconfig eth0:${IF} $IP broadcast $BROADCAST netmask $ETH0_NETMASK
done
# Enable proxy arp
if [ ! "$ETH0_PROXY_ARP" == "" ]; then
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
fi
# If that didn't succeed, give some hints:
if [ ! $? = 0 ]; then
echo "Your eth0 card was not initialized properly."
fi
fi

if [ ! "$ETH1_IP" == "" ]; then
# Set up the ethernet card:
echo "Configuring eth1:"
BROADCAST=`/bin/ipmask $ETH1_NETMASK $ETH1_IP | cut -f 1 -d ' '`
echo "ifconfig eth1 $ETH1_IP broadcast $BROADCAST netmask $ETH1_NETMASK"
ifconfig eth1 $ETH1_IP broadcast $BROADCAST netmask $ETH1_NETMASK

for i in $ETH1_SUBINTERFACES
do
IF=`echo $i | cut -d':' -f1`
IP=`echo $i | cut -d':' -f2`
BROADCAST=`/bin/ipmask $ETH1_NETMASK $IP | cut -f 1 -d ' '`
echo "ifconfig eth1:${IF} $IP broadcast $BROADCAST netmask $ETH1_NETMASK"
ifconfig eth1:${IF} $IP broadcast $BROADCAST netmask $ETH1_NETMASK
done

# Enable proxy arp
if [ ! "$ETH1_PROXY_ARP" == "" ]; then
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
fi

# If that didn't succeed, give some hints:
if [ ! $? = 0 ]; then
echo "Your eth1 card was not initialized properly."
fi
fi

if [ ! "$ETH2_IP" == "" ]; then
# Set up the ethernet card:
echo "Configuring eth2:"
BROADCAST=`/bin/ipmask $ETH2_NETMASK $ETH2_IP | cut -f 1 -d ' '`
echo "ifconfig eth2 $ETH2_IP broadcast $BROADCAST netmask $ETH2_NETMASK"
ifconfig eth2 $ETH2_IP broadcast $BROADCAST netmask $ETH2_NETMASK

for i in $ETH2_SUBINTERFACES
do
IF=`echo $i | cut -d':' -f1`
IP=`echo $i | cut -d':' -f2`
BROADCAST=`/bin/ipmask $ETH2_NETMASK $IP | cut -f 1 -d ' '`
echo "ifconfig eth2:${IF} $IP broadcast $BROADCAST netmask $ETH2_NETMASK"
ifconfig eth2:${IF} $IP broadcast $BROADCAST netmask $ETH2_NETMASK
done

# Enable proxy arp
if [ ! "$ETH2_PROXY_ARP" == "" ]; then
echo 1 > /proc/sys/net/ipv4/conf/eth2/proxy_arp
fi

# If that didn't succeed, give some hints:
if [ ! $? = 0 ]; then
echo "Your eth2 card was not initialized properly."
fi
fi
}

# ------------- Proxy arp configuration ---------------
function proxy_arp() {
echo "Configuring proxy arp:"
if [ ! "$PROXY_ARP_LAN" == "" ]; then
# Add router ip address on internal interface
echo "ip a a $PROXY_ARP_WAN_IP dev $PROXY_ARP_LAN"
ip a a $PROXY_ARP_WAN_IP dev $PROXY_ARP_LAN

# Delete route on internel interface
echo "ip route delete $PROXY_ARP_WAN_NET dev $PROXY_ARP_LAN"
ip route delete $PROXY_ARP_WAN_NET dev $PROXY_ARP_LAN

for i in $PROXY_ARP_ADDRESS
do
echo "ip route add $i dev $PROXY_ARP_LAN"
ip route add $i dev $PROXY_ARP_LAN
done
fi
}

# ------------ Set up the loopback interface --------------
function loopback() {
echo "Configuring loopback interface:"
echo "ifconfig lo 127.0.0.1"
ifconfig lo 127.0.0.1
echo "route add -net 127.0.0.0 netmask 255.0.0.0 lo"
route add -net 127.0.0.0 netmask 255.0.0.0 lo
}

# ----------------- Set up the gateway --------------------
function gateway() {
echo "Configuring gateway:"
if [ ! "$GATEWAY" = "127.0.0.1" -a ! "$GATEWAY" = "" ]; then
for i in $GATEWAY
do
echo "route add default gw ${i} metric 1"
route add default gw ${i} metric 1
done
fi
}

# --------------------- Stop interfaces --------------------
function stop() {
echo "Stop interfaces ..."
if [ ! "$ETH0_IP" == "" ]; then
ifconfig eth0 down
fi

if [ ! "$ETH1_IP" == "" ]; then
ifconfig eth1 down
fi

if [ ! "$ETH2_IP" == "" ]; then
ifconfig eth2 down
fi
}

# ------------- { start | stop | temp } ---------------
case "$1" in
'start')
echo "Interfaces configuration: "
interfaces
proxy_arp
loopback
gateway
;;
'stop')
echo "Interfaces configuration: "
stop
;;
'restart')
echo "Interfaces configuration: "
interfaces
loopback
gateway
;;
*)
echo "\n Usage: ./rc.inet1 {start | stop | restart}"
;;
esac





Reply to: