linux多个路由
本文将为您介绍linux多个路由的相关知识点,并且我们还会涉及到一些linux多线路由的话题,希望能够为您提供一些有用的信息。
本文目录一览:
- 1、Linux多网卡与路由
- 2、Linux多网卡外网访问策略路由设置
- 3、linux支持多条默认路由吗
- 4、linux下 两个连到路由器的服务器 怎么把一个服务器的文件传送到另一个服务器?
- 5、linux多网卡设置默认路由
Linux多网卡与路由
之前在调试Linux多网卡驱动时,想在应用层实现默认网关的自动切换,需要了解路由的知识,特此总结。
路由是指数据包从源节点到目的节点过程中,决定端到端路径的行为。说白了,就是数据在网络中从一个主机到另一个主机的传递路径。举个例子,我上班需要从家(A)走到公交站(B)坐130路车到大公司(C),那么我上班的路由就是A - B - C。
可以理解成是保存某个主机的所有路由信息的集合。还是说上班那个例子,我也可以从家里(A)走到公家站(B)先坐220路车到达山东路公交站(B1),再转106路车到达公司(C),所以A - B - B1 - C也是一条路由信息,那么这两条路由信息都属于我的路由表。
路由器主要负责查询数据在网络中的传递路由信息,并完成数据包的投递。再举个公交车的例子,假如有一天我想去五四广场(D)玩,但不知道坐哪路车,所以我先从家里(A)走到公交站(B),查了一下站牌信息,需要做128路车到达,接着我就等车来然后坐车抵达目的地。在这个情景中,公交站就相当于路由器,帮我查到坐车信息并经此抵达,相应的A - B - D就是对应的路由。
以上只是对这几个重要概念的简单理解,真实网络环境中肯定要复杂许多。
正常情况下,嵌入式板子有一个网卡就够用了,要么WiFi,要么以太网。但有时候需要多个网卡的情况,以连接不同的子网。运行ifconfig命令可以查看系统网卡信息:
上面信息表明我的系统中有两个以太网卡,一个网络接口连到 192.168.10.* 段网络,另一个网络接口连到 192.168.56.* 段网络。再来看一下路由表信息,运行route命令可以查看:
上述 route 命令输出信息中各项的含义请看下表:
可以看到路由表里有4条路由信息。如果要发送的数据包的目的地址是192.168.56.8,跟第一条路由信息的子网掩码做与运算得到192.168.56.0,可判断与路由信息中目的网络地址不符;再跟第二条路由信息的子网掩码做与运算得到192.168.56.0,正是第二行的目的网络地址,因此数据从eth1网卡发送出去,由于192.168.56.0正是与eth1接口直接相连的网络,因此可以直接发到目的主机,不需要经路由器转发。如果要发送的数据包的目的地址是114.114.114.114,跟前三条路由表条目都不匹配,那么就要按缺省路由信息,从eth0网卡发出去,首先发往地址为192.168.10.1的路由器,再让路由器根据它的路由表决定下一跳地址。
通过上面的分析可以发现,若使网络中任意两个节点能够通信,要么在路由表有对应的路由信息,要么通过默认网关进行转发。
纯个人理解,如有问题,欢迎指正~~~
Linux多网卡外网访问策略路由设置
如果一个linux服务器有三个口接三个不同的网络,对应的网络信息是如下
传统情况下,如果是为了从内向外访问获得更好的速度,让访问电信走电信,访问网通走网通,那么配置是网关只能够配置一个。
比如以电信为主的,那么网关就只设置电信的1.1.1.254,而针对网通和教育网设置不同的路由,路由下一跳指向网通和教育网对应的 网关。
如果这样做的目的只是实现内部访问外面,那么是没问题了,但是如果是为了让外面的用户能够正常访问到服务器上的服务就会出问题。比如电信用户会无法访问网通和教育网的ip,网通用户会无法访问电信和教育网的ip。而且只有设置了默认路由的那个网络能被跨网络访问,其它两个网络只能被本子网的设备访问。
要解决这个问题,思路就是由哪个网口进来的流量希望全部就由哪个回去。用lartc里面提到的方法就是来源的口不同,走不同的路由表。在默认的路由表基础上再建立三个路由表。
用 ip route show 可以看到默认有local,main,default三个路由表,这三个路由表的名称命名来自 /etc/iproute2/rt_tables ,这里先在这个配置文件里面添加三个不同的路由表表名,
之后建立这三个路由表的内容,因为这三个路由表的只是用来响应来自不同接口的,而不是用来相应从哪个接口出去的,所以只需要每个路由表里面建立默认网关即可。
之后再加上三条规则,使来自不同的口的走不同的路由表
至此无论是电信还是网通还是教育网用户,访问三个ip的任意一个地址都能够连通了。即便是服务器上本身的默认路由都没有设置,也能够让外面的用户正常访问。三个网络的IP都能被跨网络访问了。
命令汇总:
linux支持多条默认路由吗
linux不支持多条默认路由的。
linux的默认路由只能有一条。如果有多网卡情况,设置eth(id)id为最大的网卡为默认路由网卡。查看路由默认命令:ip r
linux下 两个连到路由器的服务器 怎么把一个服务器的文件传送到另一个服务器?
scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下
scp传输数据用的是SSH协议,保证了数据传输的安全
其格式如下:scp 远程用户名@IP地址:文件的绝对路径 本地Linux系统路径 scp 本地Linux系统文件路径
远程用户名@IP地址:远程系统文件绝对路径名scp使用第一种格式是将远程Linux系统上的某个文件或者目录拷贝到本地Linux系统上来
使用第二种是将本地的某个文件或者目录拷贝到远程Linux系统的某个路径下
举例(1)目前我们处在IP为“192.168.60.133”的Linux系统下
计划将系统下的/home/ixdba/etc.tar.gz文件拷贝到IP为“192.168.60168”的远程Linux系统中root用户下的/tmp目录下:scp /home/ixdba/etc.tar.gz root@192.168.60.168:/tmp命令输入完毕
会要求输入“192.168.60.168”服务器root的密码,然后开始远程拷贝数据
如果我们处在“192.168.60.168”服务器上,也可以使用下面的命令传输数据:scp root@192.168.60.133:/home/ixdba/etc.tar.gz /tmp命令输入完毕,此时会要求输入“192.168.60.133”服务器root的密码,然后开始远程拷贝数据
(2)将本地/etc目录中所有的文件和子目录拷贝到IP为“192.168.60.135”的远程Linux系统的root用户下的/opt目录中:scp -r /etc root@192.168.60.135:/opt这里的选项“r”与cp命令的“r”选项含义相同
linux多网卡设置默认路由
1、使用root用户登录服务器,确定配置网卡。通常有几种情况:
(1) 如果是修改服务器IP。这种情况下服务器上已经配置了IP。执行ifconfig查看IP配置在哪个网卡上。
(2) 如果是新装系统的新服务器并且只有一张网卡。那就直接配吧。比如云服务器,通常为eth0。
(3)如果是新装系统多个网卡呢,可以使用ethtool命令查找可用的网卡。ethtool ethX | grep 'Link detected',查看链接状态为Link detected: yes。如果不是很确定,通过配置多试试问题也不大。
2、进入/etc/sysconfig/netwrok目录,这里假设是eth0网卡,修改ifcfg-eth0文件。设置内容如下:
BOOTPROTO='static'
IPADDR='192.168.0.1'
NETMASK='255.255.255.0'
STARTMODE='auto'
3、配置默认网关,通过修改配置文件/etc/sysconfig/netwrok/routes实现,添加内容如下
default 192.168.1.1 - -
4、执行service network restart重启网卡服务。使上述修改生效。
Linux:~ # service network restart
5、ifconfig -a查看eth0网卡的IP,如果正常,继续下一步,否则检查网卡是否正常
6、测试。从本地ping IP或者登录系统,成功则配置完成。
希望您通过这篇文章学到了有用的技巧和知识,让您更好地掌控和管理您的网络。