USB Networking with openSUSE
m (Replacing 'Freerunner' with 'FreeRunner')
m (Category: -Technical, +Networking)
|Line 58:||Line 58:|
iptables -t nat -F POSTROUTING
iptables -t nat -F POSTROUTING
Revision as of 22:59, 13 September 2008
YaST in openSUSE 10.1 & 10.2
Set up USB interface
First, you must specify the characteristics of the USB connection as a network device. This can be done through YaST. Choose:
YaST -> Network Devices -> Network Card
The network configuration utility will ask you to choose between a setup based on the Network Manager app, or by using ifup. These instructions were written with the latter chosen, though it may very well work using the Network Manager. In the next menu, you will see a list of network devices. If YaST recognizes the connected FreeRunner, there will be one device with a name like "RNDIS ethernet gadget". You may select "Edit" to configure this device, or, if it is not present, "Add" it and continue.
In the "Edit" dialog, under the Address tab, choose "Static Address Setup" and set:
IP Address = 192.168.0.200
Subnet Mask = 255.255.255.0
Note: If your network setup has the IP range 192.168.0.x already in use, there will be connectivity problems. Next, under the General tab for this device, set:
Firewall Zone -> Internal Zone (Unprotected)
This will allow for the configuration of the firewall, which comes later. Click "Next" to finish configuring this device. (Your primary network device, usually eth0, may be set to use DHCP for addressing, but must have its firewall zone set to "External Zone".) Choose "Finish" in the Configuration Overview to complete the setup and restart networking.
Enable IP Forwarding
To use your host PC as a router for the FreeRunner, you must implement IP forwarding. This is also done in YaST:
YaST -> Network Services -> Routing
At the bottom of the dialog, enable "IP Forwarding"; no default gateway is necessary. Choose "Finish" to end routing configuration.
The firewall must be configured to allow traffic to and from the FreeRunner. Start by:
YaST -> Security and Users -> Firewall
(1) Under the Interfaces tab, confirm that the network device that connects to the internet is in the "External Zone" and the USB device is in the "Internal Zone". (2) In the Allowed Services tab, there is a checkbox labeled "Protect Firewall from Internal Zone". Uncheck it. (3) In the Masquerading tab, check the "Masquerade Networks" box. (4) Clicking "Next" will get to a firewall summary dialog, then clicking "Accept" will configure and restart the firewall.
After configuring and starting the USB interface, engaging the host PC as a router, and opening the firewall. You may add a route to the FreeRunner and start network address translation (NAT). It may be best to write short scripts to perform these actions, so they may be invoked without remembering or typing them. In one script, neoFRup.sh, place the commands:
#! /bin/sh /sbin/route add -host 192.168.0.202/32 dev usb0 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 iptables -P FORWARD ACCEPT
This script will add the FreeRunner to the route tables and enable NAT, so you should now be able to connect to your phone with:
# ssh firstname.lastname@example.org
You should make sure that there is a gateway set to 192.168.0.200 in the FR's /etc/network/interfaces file, and that the FR's /etc/resolv.conf file has appropriate nameservers listed. When you are finished using the route to your phone, you may undo the above with another script, neoFRdown.sh:
#! /bin/sh /sbin/route del -host 192.168.0.202/32 dev usb0 iptables -t nat -F POSTROUTING