18

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.
  • What's the output of ip route show – GnP Feb 3 '14 at 22:08
  • 1
    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 '14 at 22:59
  • 10
    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 '14 at 14:49
  • @user240010, You wrote an excellent solution. May I ask how you figured it out? Thanks. – Frank Aug 16 '16 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 '16 at 21:03
14

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
3

The problem is ,you need to set your default gateway

1)Take terminal

2)sudo su

3)Type in

$ route add default gw (eg:192.168.136.1) eth0

4)sometimes you will be able to ping(ping 8.8.8.8) but no internet connection in the browser,then

5)go to 'nano /etc/resolv.conf'

6)Add

7)nameserver 8.8.8.8

8)nameserver 192.168.136.0(gateway) or nameserver 127.0.1.1

9)sudo /etc/init.d/networking restart or service networking restart

  • 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. – Marc Vanhoomissen Nov 28 '17 at 11:33
2

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
-1

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.