43

When I attempt to ping google's dns or any outside the network I get connect: Network is unreachable?

I can't update either which I put down to this

I am new to networking... And Ubuntu. But these are results of some commands I thought might help

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:0e:7f:a9:10:54 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.5/24 brd 192.168.0.255 scope global eth0
    inet6 fe80::20e:7fff:fea9:1054/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 86:0b:cb:43:63:a5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
mcserver@helloworld:~$ 

$ vi /etc/resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.5
nameserver 8.8.8.8

$ vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.0.5
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.0.255
        post-up iptables-restore < /etc/iptables.up.rules
        dns-nameservers 192.168.0.5 8.8.8.
11
  • 2
    What's the output of ip route show
    – GnP
    Feb 3, 2014 at 22:08
  • 2
    192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.5 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
    – user240010
    Feb 3, 2014 at 22:59
  • 18
    ip route add default via 192.168.0.1 dev eth0 should get you connectivity, assuming your routers ip address is 192.168.0.1. If this works (try ping 8.8.8.8 first, then google.com) check my answer for persisting the changes.
    – GnP
    Feb 4, 2014 at 14:49
  • @user240010, You wrote an excellent solution. May I ask how you figured it out? Thanks.
    – Frank
    Aug 16, 2016 at 20:54
  • @GnP, You wrote an excellent and clever solution. I discovered just now that it does not persist after logout. Could you please tell me how to persist it? Thanks.
    – Frank
    Aug 16, 2016 at 21:03

4 Answers 4

21

The following line is wrong:

iface eth0 inet static
    address 192.168.0.5
    netmask 255.255.255.0
    network 192.168.1.0 <<<<<<<<<<<<<<<<<<<<<<<< It should be 192.168.0.0
    broadcast 192.168.0.255
    post-up iptables-restore < /etc/iptables.up.rules
    dns-nameservers 192.168.0.5 8.8.8.8

Also, there doesn't seem to be any default gateway setup.

Not having more info about your network, I would suggest adding the following line at the end:

    gateway <YOUR.ROUTER.IP.ADDRESS>

So, assuming your router ip address is 192.168.0.1, this would be the whole entry:

iface eth0 inet static
    address 192.168.0.5
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    post-up iptables-restore < /etc/iptables.up.rules
    gateway 192.168.0.1
    dns-nameservers 192.168.0.5 8.8.8.8
12

The problem is that you need to set your default gateway

  1. Take terminal

  2. Type in

    sudo ip route add default via <your gateway>(eg:192.168.136.1) dev eth0
    
  3. Sometimes you will be able to ping (ping 8.8.8.8) but no internet connection in the browser, then:

  4. Go to sudo nano /etc/resolv.conf

  5. Add nameserver 8.8.8.8

  6. Add nameserver <your gateway> or nameserver 127.0.1.1

  7. sudo /etc/init.d/networking restart or sudo service networking restart

1
  • 3
    Welcome to askubuntu. Two remarks: 1. Refrain answering questions with an accepted answer unless you really come with something different. 2. Never advise to sudo su, as this is considered bad practice here for many reasons. Nov 28, 2017 at 11:33
4

You may need to add a default gateway. As a root user, execute this command.

E.g.

root@localhost:~# route add default gw 172.23.5.1

You can get the first 3 octets, 172.23.5 from eth0/eoM

Then ping an IP to see if connection works.

root@localhost:~# ping 10.56.94.81    
PING 10.56.94.81 (10.56.94.81) 56(84) bytes of data.    
64 bytes from 10.56.94.81: icmp_seq=1 ttl=62 time=0.203 ms    
64 bytes from 10.56.94.81: icmp_seq=2 ttl=62 time=0.197 ms    
64 bytes from 10.56.94.81: icmp_seq=3 ttl=62 time=0.210 ms    
^C    
--- 10.56.94.81 ping statistics ---    
3 packets transmitted, 3 received, 0% packet loss, time 2033ms    
rtt min/avg/max/mdev = 0.197/0.203/0.210/0.012 ms
0

In my case, if your system is behind a firewall, that can't interact with internet. Unless you specify a proxy server for HTTP/HTTPS/FTP, it is not reachable.

Try this:

export  http_proxy=http://yourcompanyproxy.company.com:1234   
export  ftp_proxy=ftp://yourcompanyproxy.company.com:1234  
export  https_proxy=https://yourcompanyproxy.company.com:1234

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .