USB Networking with openSUSE

From Openmoko

(Difference between revisions)
Jump to: navigation, search
Line 57: Line 57:
 
  /sbin/route del -host 192.168.0.202/32 dev usb0
 
  /sbin/route del -host 192.168.0.202/32 dev usb0
 
  iptables -t nat -F POSTROUTING
 
  iptables -t nat -F POSTROUTING
 +
 +
[[category:Technical]]
 +
[[category:USB]]

Revision as of 04:18, 23 July 2008

Contents

YaST in openSUSE 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

and

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.

Configure Firewall

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.

Configure NAT

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 root@192.168.0.202

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
Personal tools

YaST in openSUSE 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

and

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.

Configure Firewall

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.

Configure NAT

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 root@192.168.0.202

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