linux路由

linux路由,第1张

Linux 路由需要记住两点:跨网段通信需要经过路由;Linux 本身就是一台路由器。

开启路由功能

$ cat/proc/sys/net/ipv4/ip_forward

如果值为 1,表示开启了路由功能,如未开启,需要在 /etc/sysctl.conf 中设置:

net.ipv4.ip_forward=1

然后执行 sysctl -p 使之生效。

实践

创建两个网络 namespace:

$ ip netns add ns1

$ ip netns add ns2

创建两对 veth-pair,一端分别挂在两个 namespace 中:

$iplinkadd v1type veth peer name v1_r$iplinkadd v2type veth peer name v2_r$iplink setv1netns ns1$iplink setv2netns ns2

分别给两对 veth-pair 端点配上 IP 并启用:

$ ip a a 10.10.10.1/24 dev v1_r$ ip l s v1_r up$ ip a a 10.10.20.1/24 dev v2_r$ ip l s v2_r up$ ip netnsexecns1 ip a a 10.10.10.2/24 dev v1$ ip netnsexecns1 ip l s v1 up$ ip netnsexecns2 ip a a 10.10.20.2/24 dev v2$ ip netnsexecns2 ip l s v2 up

测试:

$ ip netnsexecns1 ping 10.10.20.2

发现不通。

添加路由

查看路由:

$ ip netnsexecns1 route -nKernel IP routing tableDestination    Gateway        Genmask        Flags Metric Ref    Use Iface10.10.10.0      0.0.0.0        255.255.255.0  U    0      0        0 v1

只有一条直连路由,没有去往 10.10.20.0/24 网段的路由,怎么通?那就给它配一条:

$ ip netnsexecns1 route add -net 10.10.20.0 netmask 255.255.255.0 gw 10.10.10.1$ ip netnsexecns1 route -n

同理也给 ns2 配上去往 10.10.10.0/24 网段的路由:

$ ip netnsexecns2 route add -net 10.10.10.0 netmask 255.255.255.0 gw 10.10.20.1$ ip netnsexecns2 route -n

再次测试,发现可以 ping 通了:

$ ip netnsexecns1 ping 10.10.20.2

总结

Linux 本身是一台路由器。

上面的实验使用 namespace 效果和使用虚拟机是一样的,关键是知道有这个功能,知道怎么用就差不多了。

输入以下代码,vi / etc / sysconfig / network-scripts / ifcfg-eth0,填写IP地址,子网掩码,网关,填写后,保存并退出,重启网络服务,红框代码为重启 代码,ping网关,测试外部网络,通过正常 *** 作。

1、打开Linux终端系统,然后在系统中输入以下代码, vi / etc / sysconfig /网络脚本/ ifcfg-eth0。

2、开始填写命令代码,例如IP地址,子网掩码和网关。

3、填写后,保存并退出。

4、重启网络服务,红框代码是要重启的代码。

5、对网关执行Ping *** 作,测试外部网络,然后通过正常 *** 作。

扩展资料:

ifconfig查看网卡信息的命令(网卡的名称为eth0〜ethN,取决于使用的网卡),只有root用户才能使用,普通用户不能使用。

route -n命令可查看路由,cat /etc/resolv.conf可查看DNS并配置DNS, 有三种方法可以在此文件的命令行中修改IP,其中之一是临时的,重启后将不可用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8350827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存