我在 raspberryPi 上运行 arch-linux-arm。
我所在的网络使用静态IP。 我的设备的 IP
gateway IP
是192.168.178.5
192.168.178.201
要连接到互联网,我使用:
ip addr add 192.168.178.201 dev eth0
ip route add default via 192.168.178.5
但是后者会产生
RTNETLINK answeres: Network is unreachable
我缺少什么?
更新
mtak 的回答解决了最初的问题,
但我仍然无法到达网关。
试图ping
导致destination host unreachable
答案1
添加IP地址时需要添加子网掩码。现在系统会认为IP是/32,其中不包括IP 192.168.178.5,因此无法访问。
要添加带有子网掩码的新 IP 地址:
ip addr add 192.168.178.201/24 dev eth0
答案2
这对我有用
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
答案3
你没有systemd和netctl吗?这就是 arch 通常使用的。如果您没有绑定使用 ip 连接到互联网,您可以将其粘贴到/etc/netctl/以太网
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')
然后执行netctl 启动以太网(如果这有效的话,netctl 启用以太网据我所知,这是在 arch 上连接互联网的推荐方式。
根据您以前的问题,我猜测问题可能是您忘记定义 DNS 服务器(尽管它可能是自动化的,我不知道)
如果您仍然无法访问网关,也许您应该仔细检查网关的 IP。您是否尝试过使用 DHCP 连接(例如DHCPCD?或者您的网络根本不支持这一点?)只是为了确保可以建立连接?
答案4
尝试
ip route add 192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.122.201
我刷新我的路由主表,设置静态IP,遇到这个问题。
我尝试删除静态IP,再次读取,观察路由表中添加了哪些内容,并找到该条目。然后我添加默认路由,它起作用了。
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