Linux boxes have difficulty connecting through Actiontec modems. The problem is that the modem supplies its own IP address as one of the nameservers, and it is apparenly non-standard enough so this will not work with our boxen. This is actually a bug in the actiontec firmware as evidenced by the contents of /etc/udhcpd.conf on one of the modems.
# cat /etc/udhcpd.conf start 192.168.0.2 end 192.168.0.254 interface br0 opt router 192.168.0.1 opt domain domain.actdsltmp opt dns 192.168.0.1 188.8.131.52 opt subnet 255.255.255.0 opt lease 86400 conflict_time 86400 lease_file /var/tmp/udhcpd.leases
Static ip solution
Set the linux box to a static IP in 192.168.0.x range, with a gateway of 192.168.0.1 and subnet mask of 255.255.255.0, and give it static dns address(es). The DNS address will vary from one ISP to another, but may generally be found by searching on google for "<ISP name> DNS server".
You need to edit /etc/network/interfaces to set the static IP
Edit /etc/resolv.conf to set the nameservers on a Debian box. On Ubuntu, both IP and DNS can be set with System>Administration>Networking.
The following solution has been tested on several boxes now and seems to work well, without the hassle of static ip configuration. Especially good is that the box will still work if connected to a different network.
apt-get install bind9 echo 'supersede domain-name-servers 127.0.0.1;' >> /etc/dhclient.conf dhclient
You might want to add the resolvconf utility which has been seen to help on a dapper box
apt-get install resolvconf
sudo nano /etc/dhcp3/dhclient.conf
Find this section
#prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name, netbios-name-servers, netbios-scope, interface-mtu;
and edit it so it looks like this (remove the '#' from 'prepend', put your dns server in place of 127.0.0.1 and remove 'domain-name-servers' from 'request'
prepend domain-name-servers yourdnsserver1, yourdnsserver2; request subnet-mask, broadcast-address, time-offset, routers, domain-name, host-name, netbios-name-servers, netbios-scope, interface-mtu;
On an actiontec modem you should be able to look up what your dns servers should be through the web interface at 192.168.0.1
In newer versions of ubuntu (8.10 and up) you can use network-manager to work around this actiontec dns issue. The benefits of using Network-Manager instead of the above solutions is that you can configure it on a per connection basis (meaning these settings won't muck up your computer if you take it somewhere else) and the fact that it can be set up entirely through the GUI.
Right click Network-Manager and select 'Edit Connections...'
If you are connecting to your actiontec modem using wireless you should edit the profile already created under 'Wireless' or if you are using a wired connection select 'Add' to create a new wired profile.
Select the 'IPv4 Settings' tab and change the 'Method' in the drop down menu from 'Automatic (DHCP)' to 'Automatic (DHCP) adresses only'. Now you need to type your isp's dns servers where it says 'DNS Servers:'.