设为首页 收藏本站
查看: 482|回复: 0

[经验分享] route

[复制链接]
累计签到:5 天
连续签到:1 天
发表于 2017-2-14 11:40:14 | 显示全部楼层 |阅读模式
route       
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         bogon           0.0.0.0         UG    100    0        0 eno16777736
10.128.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eno33554984
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0

U 路由可用
G正在使用的网关
ifconfig eno16777736:1 172.16.100.1/24
vi /etc/rc.local 写入这个文件重启不丢失
还可在桌面环境配置IP
route -n 使用IP地址不使用域名
route add default gw 172.16.100.254
route del default gw 172.16.100.254
route add -net 172.16.100.0/24 gw 192.168.1.128
route add -host  172.16.100.1 gw 192.168.1.128
route add -net 172.16.100.0 netmask 255.255.255.0 gw 192.168.1.128

一,配置linux作为NAT路由器
1.修改内核参数使linux具有数据包转发功能

vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
2.用iptables实现防火墙NAT功能
iptables -t nat -I POSTROUTING -o eno33554984 -j MASQUERADE
iptables -nvL
MASQUERADE,地址伪装,在iptables中有着和SNAT相近的效果,但也有一些区别   但使用SNAT的时候,出口ip的地址范围可以是一个,也可以是多个,例如:   如下命令表示把所有10.8.0.0网段的数据包SNAT成192.168.5.3的ip然后发出去   iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j SNAT --to-source 192.168.5.3    如下命令表示把所有10.8.0.0网段的数据包SNAT成192.168.5.3/192.168.5.4/192.168.5.5等几个ip然后发出去    iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j SNAT --to-source 192.168.5.3-192.168.5.5    这就是SNAT的使用方法,即可以NAT成一个地址,也可以NAT成多个地址但是,对于SNAT,不管是几个地址,必须明确的指定要SNAT的ip    假如当前系统用的是ADSL动态拨号方式,那么每次拨号,出口ip192.168.5.3都会改变   而且改变的幅度很大,不一定是192.168.5.3到192.168.5.5范围内的地址   这个时候如果按照现在的方式来配置iptables就会出现问题了    因为每次拨号后,服务器地址都会变化,而iptables规则内的ip是不会随着自动变化的   每次地址变化后都必须手工修改一次iptables,把规则里边的固定ip改成新的ip   这样是非常不好用的    MASQUERADE就是针对这种场景而设计的,他的作用是,从服务器的网卡上,自动获取当前ip地址来做NAT   比如下边的命令:    iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE   如此配置的话,不用指定SNAT的目标ip了

3.在另外一台机器上测试
添加路由
route add default gw 192.168.1.128
traceroute -d 10.128.10.2
二,配置linux策略路由
1.路由表管理
linux有多个路由表,数据包使用哪个路由表,取决于系统设定的规则
默认规则查看
ip rule list 或  ip rule show
[iyunv@node1 etc]# ip rule list
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default
有三个路由表数值越小越优先,from all表示所有数据包都需要经过路由表的匹配
内核转发数据包顺序为local>main>default
查看详细列表
[iyunv@node1 etc]# ip route list table local
ip route list table main
ip route list table default
3个路由表放在 cat /etc/iproute2/rt_tables目录
建立一个名字为test1的路由表
echo 100 test1 >> /etc/iproute2/rt_tables
建立一个规则所有来自192.168.10.0/24网段的数据包使用test1的条目路由
ip rule add from 192.168.10.0/24 table test1
查看
[iyunv@node1 etc]# ip rule list
0:      from all lookup local
32765:  from 192.168.10.0/24 lookup test1
32766:  from all lookup main
32767:  from all lookup default
优先级为32765自动分配
也可以手工指定优先级
ip rule add from 192.168.100.0/24 table test1 pref 1500
[iyunv@node1 etc]# ip rule list
0:      from all lookup local
1500:   from 192.168.100.0/24 lookup test1
32765:  from 192.168.10.0/24 lookup test1
32766:  from all lookup main
32767:  from all lookup default
删除
[iyunv@node1 etc]# ip rule del table test1
2.规则与路由
ip rule [add|del] SELECTOR ACTION
SELECTOR:
from:源IP
to:目标IP
tos:
fwmark:防火墙参数
dev:参与设备iif和oif
pref:优先级
ACTION:
table:指明testID或表名
nat:
prohibit:丢弃包并返回错误消息
unreachable:丢弃包
路由管理

ip route add default via 192.168.1.131 table test1
ip route add 192.168.15.0/24 via 192.168.1.131 table test1
策略路由应用实例
linux主机内部连接2个子网192.168.1.0/24,192.168.2.0/24有2个外网出口
1口为172.16.33.2对端网关172.16.33.1,另一个2口为172.16.34.2对端网关172.16.34.1
1.选择出口
1口为所有子网默认出口,有其中2个IP192.168.1.52和192.168.1.54从2口出
配置默认路由
1口配置IP默认网关
2口配置IP掩码不配置网关
配置策略路由
echo 200 T1 >> /etc/iproute2/rt_tables
ip rule add from 192.168.1.52/32 table T1
ip rule add from 192.168.2.54/32 table T1
[iyunv@node1 etc]# ip rule ls
0:      from all lookup local
32764:  from 192.168.2.54 lookup T1
32765:  from 192.168.1.52 lookup T1
32766:  from all lookup main
32767:  from all lookup default
ip route add default via 172.16.34.1 table T1
[iyunv@node1 etc]# ip route list table T1
把路由写入/etc/rc.local中
负载均衡
考虑连接的持续性,从口1出去的数据包返回时也从口1返回,出口2一样
添加2个路由表
echo 100 table1 >> /etc/iproute2/rt_tables
echo 200 table2 >> /etc/iproute2/rt_tables
ip route add default via 172.16.33.1 dev eno16777736 src 172.16.33.2 table table1
ip rule add from 172.16.33.2 table table1

ip route add default via 172.16.34.1 dev eno33554984 src
172.16.34.2 table table 2
ip rule add from 172.16.34.2 table table2
设置负载均衡策略
ip route add default scope global nexthop via 172.16.33.2
dev eno16777736 weight 1 netxthop via 172.16.34.2 dev eno33554984 weight 1
weight 设置1表示2个接口权重相同,流量平等对待







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-342055-1-1.html 上篇帖子: LVS 下篇帖子: rpm 包管理系统
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表