diff --git a/ics.md b/ics.md index 855bfa3..17ee559 100644 --- a/ics.md +++ b/ics.md @@ -4,7 +4,7 @@ With an Ethernet cable connected to the WiFi Pineapple, Internet access may be shared from an online computer. This is typically achieved with a cable connected between a notebook computer and the WiFi Pineapple directly. The notebook computer requires some form of Internet access (typically through WiFi or Mobile Broadband). -By default the WiFi Pineapple has an IP address of 172.16.42.1 and will assign WiFi clients with IP addresses in teh 172.16.42.100-150 range via an onboard DHCP server. The default gateway of the WiFi Pineapple is 172.16.42.42. This means the WiFi Pineapple is looking for an Internet connection from a host with this IP address. A simple tethering script is available for Linux host which will automatically setup the IP and forwarding. Download the script from http://www.wifipineapple.com/wp5.sh +By default the WiFi Pineapple has an IP address of 172.16.42.1 and will assign WiFi clients with IP addresses in teh 172.16.42.100-150 range via an onboard DHCP server. The default gateway of the WiFi Pineapple is 172.16.42.42. This means the WiFi Pineapple is looking for an Internet connection from a host with this IP address. A simple tethering script is available for Linux host which will automatically setup the IP and forwarding. Download the script from the scripts directory [here](scripts/wp5.sh) Power the WiFi Pineapple Connect an Ethernet cable directly between the LAN port on the computer and the LAN port on the WiFi Pineapple diff --git a/scripts/wp5.sh b/scripts/wp5.sh new file mode 100644 index 0000000..570d8ce --- /dev/null +++ b/scripts/wp5.sh @@ -0,0 +1,111 @@ +#!/bin/bash +#define variables + +echo "$(tput setaf 3) _ ___ _______ ____ _ __ " +echo " | | / (_) ____(_) / __ \\(_)___ ___ ____ _____ ____ / /__ " +echo " | | /| / / / /_ / / / /_/ / / __ \/ _ \/ __ '/ __ \/ __ \/ / _ \\" +echo " | |/ |/ / / __/ / / / ____/ / / / / __/ /_/ / /_/ / /_/ / / __/" +echo " |__/|__/_/_/ /_/ /_/ /_/_/ /_/\___/\__,_/ .___/ .___/_/\___/ " +echo " $(tput sgr0) OWN the Network $(tput setaf 3)/_/ /_/$(tput sgr0) v2.2" +echo "" + +echo -n "Pineapple Netmask [255.255.255.0]: " +read pineapplenetmask +if [[ $pineapplenetmask == '' ]]; then +pineapplenetmask=255.255.255.0 #Default netmask for /24 network +fi + +echo -n "Pineapple Network [172.16.42.0/24]: " +read pineapplenet +if [[ $pineapplenet == '' ]]; then +pineapplenet=172.16.42.0/24 # Pineapple network. Default is 172.16.42.0/24 +fi + +echo -n "Interface between PC and Pineapple [eth0]: " +read pineapplelan +if [[ $pineapplelan == '' ]]; then +pineapplelan=eth0 # Interface of ethernet cable directly connected to Pineapple +fi + +echo -n "Interface between PC and Internet [wlan0]: " +read pineapplewan +if [[ $pineapplewan == '' ]]; then +pineapplewan=wlan0 #i.e. wlan0 for wifi, ppp0 for 3g modem/dialup, eth0 for lan +fi + +temppineapplegw=`netstat -nr | awk 'BEGIN {while ($3!="0.0.0.0") getline; print $2}'` #Usually correct by default +echo -n "Internet Gateway [$temppineapplegw]: " +read pineapplegw +if [[ $pineapplegw == '' ]]; then +pineapplegw=`netstat -nr | awk 'BEGIN {while ($3!="0.0.0.0") getline; print $2}'` #Usually correct by default +fi + +echo -n "IP Address of Host PC [172.16.42.42]: " +read pineapplehostip +if [[ $pineapplehostip == '' ]]; then +pineapplehostip=172.16.42.42 #IP Address of host computer +fi + +echo -n "IP Address of Pineapple [172.16.42.1]: " +read pineappleip +if [[ $pineappleip == '' ]]; then +pineappleip=172.16.42.1 #Thanks Douglas Adams +fi + +#Display settings +#echo Pineapple connected to: $pineapplelan +#echo Internet connection from: $pineapplewan +#echo Internet connection gateway: $pineapplegw +#echo Host Computer IP: $pineapplehostip +#echo Pineapple IP: $pineappleip +#echo Network: $pineapplenet +#echo Netmask: $pineapplenetmask + +echo "" +echo "$(tput setaf 6) _ . $(tput sgr0) $(tput setaf 7)___$(tput sgr0) $(tput setaf 3)\||/$(tput sgr0) Internet: $pineapplegw - $pineapplewan" +echo "$(tput setaf 6) ( _ )_ $(tput sgr0) $(tput setaf 2)<-->$(tput sgr0) $(tput setaf 7)[___]$(tput sgr0) $(tput setaf 2)<-->$(tput sgr0) $(tput setaf 3),<><>,$(tput sgr0) Computer: $pineapplehostip" +echo "$(tput setaf 6) (_ _(_ ,)$(tput sgr0) $(tput setaf 7)\___\\$(tput sgr0) $(tput setaf 3)'<><>'$(tput sgr0) Pineapple: $pineapplenet - $pineapplelan" + + +#Bring up Ethernet Interface directly connected to Pineapple +ifconfig $pineapplelan $pineapplehostip netmask $pineapplenetmask up + +# Enable IP Forwarding +echo '1' > /proc/sys/net/ipv4/ip_forward +#echo -n "IP Forwarding enabled. /proc/sys/net/ipv4/ip_forward set to " +#cat /proc/sys/net/ipv4/ip_forward + +#clear chains and rules +iptables -X +iptables -F +#echo iptables chains and rules cleared + +#setup IP forwarding +iptables -A FORWARD -i $pineapplewan -o $pineapplelan -s $pineapplenet -m state --state NEW -j ACCEPT +iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT +iptables -A POSTROUTING -t nat -j MASQUERADE +#echo IP Forwarding Enabled + +#remove default route +route del default +#echo Default route removed + +#add default gateway +route add default gw $pineapplegw $pineapplewan +#echo Pineapple Default Gateway Configured + +#instructions +#echo All set. Now on the Pineapple issue: route add default gw $pineapplehostip br-lan + +#ping -c1 $pineappleip +#if [ $? -eq 0 ]; then +#echo "ICS configuration successful." +#echo "Issuing on Pineapple: route add default gw $pineapplehostip br-lan" +#echo " ssh root@$pineappleip 'route add default gw '$pineapplehostip' br-lan'" +#echo "Enter Pineapple password if prompted" +#ssh root@$pineappleip 'route add default gw '$pineapplehostip' br-lan' +#fi + +echo "" +echo "Browse to http://$pineappleip:1471" +echo ""