Trying to connect to gateway in static ip network

I have arch-linux-arm running on a raspberryPi.
The network I am in uses static IPs.
gateway IP is 192.168.178.5
IP for my device is 192.168.178.201

To connect to the internet I use:
ip addr add 192.168.178.201 dev eth0
ip route add default via 192.168.178.5
However the latter yields
RTNETLINK answeres: Network is unreachable
What am I missing?

UPDATE
mtak’s answer fixed the initial problem,
however I still cannot reach the gateway.
Attempting to ping result in destination host unreachable

Asked By: Mark

||

You need to add a subnet mask when you add the IP address. Now the system will think the IP is a /32, which does not include the ip 192.168.178.5, therefore it’s unreachable.

To add the new IP address with a subnet mask:

ip addr add 192.168.178.201/24 dev eth0
Answered By: mtak

try

ip route add 192.168.178.0/24 dev eth0 proto kernel  scope link  src 192.168.122.201

I flush my route main table, set static ip, encounter this problem.

I try to delete the static ip, readd again, observe what has been added to route table, and find this entry. Then I add default route, it works.

ip a del 192.168.178.201/24 dev eth0
ip a add 192.168.178.201/24 dev eth0
ip route add default via 192.168.178.5 dev eth0
Answered By: nineio

Do you not have systemd and netctl? that’s what arch usually uses. If you are not bound to using ip to connect to the internet, you can paste this into /etc/netctl/ethernet

Interface=eth0
Connection=ethernet
IP=static
Address=('192.168.178.201/24' '192.168.1.87/24')
#Routes=('192.168.0.0/24 via 192.168.1.2')
Gateway='192.168.178.5'
DNS=('192.168.178.5')

then execute netctl start ethernet (and if that works, netctl enable ethernet to auto-connect on bootup) this is the recommended way to connect to the internet on arch as far as I can understand.

Based on your former problems, I would guess that the issue might be that you are forgetting to define a DNS server (although it might be automated, I don’t know)

If you still fail to reach the gateway, maybe you should double check your gateway’s IP. Have you tried connecting with DHCP (like dhcpcd? or does your network simply not support that at all?) just to make sure that the connection can be made at all?

Answered By: Cestarian

This worked for me

ip route flush dev eth0
ip route add 10.77.132.0/24 dev eth0
ip route add 0.0.0.0/0 via 10.77.132.1
Answered By: Goblinhack