【网络工具ip 学习】

【网络工具ip 学习】

1. 四表五链

在这里插入图片描述
应该叫五链四表
链是指的链路,指的数据包的通过路径
四表里面表示对数据包的操作(这里面加入具体的处理规则链)

filter表——过滤数据包
Nat表——用于网络地址转换(IP、端口)
Mangle表——修改数据包的服务类型、TTL、并且可以配置路由实现QOS
Raw表——决定数据包是否被状态跟踪机制处理

2. ip route关于路由转发,网络工具ip的使用

ip route show table main 查看main路由表

liangji@liangji-Vostro-3670:~/liangji_test$ ip route show table main
default via 172.16.9.1 dev enx000ec6821555 proto dhcp metric 100 
default via 10.0.0.1 dev enp2s0 proto static metric 20101 
10.0.0.0/8 dev enp2s0 proto kernel scope link src 10.0.0.2 metric 101 
169.254.0.0/16 dev enp2s0 scope link metric 1000 
172.16.9.0/24 dev enx000ec6821555 proto kernel scope link src 172.16.9.119 metric 100 
liangji@liangji-Vostro-3670:~/liangji_test$ 
liangji@liangji-Vostro-3670:~/liangji_test$ 
liangji@liangji-Vostro-3670:~/liangji_test$ route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0         172.16.9.1      0.0.0.0         UG    100    0        0 enx000ec6821555
0.0.0.0         10.0.0.1        0.0.0.0         UG    20101  0        0 enp2s0
10.0.0.0        0.0.0.0         255.0.0.0       U     101    0        0 enp2s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp2s0
172.16.9.0      0.0.0.0         255.255.255.0   U     100    0        0 enx000ec6821555

ip route show table main 和route -n对应
先寻找下面三个的有指定目标的路由表,如果该数据包的目的ip是这三个有具体目标的(按子网掩码来定优先级),那么就发送给这个的网关。
如果没有匹配到具体的目标,那么按照默认路由表转发,由跃点确认优先级。

ip route add 192.168.64.0/24 via 172.16.9.1 table main 加入一个有具体目标的路由表

3. ip rule

#ubuntu 的 ip rule list
seaice@seaice-VirtualBox:~$ ip rule list
0:  from all lookup local 
32766:  from all lookup main
32767:  from all lookup default


#android 的 ip rule list
shell@rk3288:/ $ ip rule list
0:	from all lookup local 
9999:	from all lookup 1 
10000:	from all fwmark 0xc0000/0xd0000 lookup legacy_system 
13000:	from all fwmark 0x10063/0x1ffff lookup local_network 
15000:	from all fwmark 0x0/0x10000 lookup legacy_system 
16000:	from all fwmark 0x0/0x10000 lookup legacy_network 
17000:	from all fwmark 0x0/0x10000 lookup local_network 
23000:	from all fwmark 0x0/0xffff uidrange 0-0 lookup main 
32000:	from all unreachable
10000:  from all fwmark 0xc0000/0xd0000 lookup legacy_system

优先级为10000的策略表示,所有的数据包(from all), 其iptables的mark(fwmark)和0xd0000按位与后,所得结果为0xc0000的数据包(fwmark 0xc0000/0xd0000),使用legacy_system路由表(ip route show table)进行路由查找(lookup legacy_system)

11000:  from all iif lo oif rmnet_data0 uidrange 0-0 lookup rmnet_data0

优先级为11000的策略表示,所有是的数据包(from all),如果是从lo回环接口输入(iif lo),从rmnet_data0接口输出(oif rmnet_data0),其uid为0(uidrange 0-0)即系统用户,使用rmnet_data0路由表进行路由查找。lo接口的作用是,假如一个本地进程向另一个本地进程发送数据,那么将会使用lo接口,此时如果在rmnet_data0接口上抓包是无法抓到的,但是在lo接口上能够抓到。

29000:  from all fwmark 0x0/0xffff iif lo lookup rmnet_data0

优先级为29000的策略表示,所有的数据包,其iptables的mark和0xffff按位与后,所得结果为0x0,且是从lo回环接口输入的数据包,使用rmnet_data0路由表。在不主动设置数据包的mark时,数据包的mark就是0,所以在不设置mark的时候,数据包通常会满足这条路由策略。

添加策略路由

root@seaice-VirtualBox:/home/seaice# ip rule add from 109.131.7.10 table 10
root@seaice-VirtualBox:/home/seaice# ip rule add from 109.131.8.0/24 table 20
root@seaice-VirtualBox:/home/seaice# ip rule list
0:	from all lookup local
32764:	from 109.131.8.0/24 lookup 20  #如果来源端的IP是109.131.8.0/24网段的IP,就参考路由20
32765:	from 109.131.7.10 lookup 10    #如果数据包的来源IP是109.131.7.10, 就参考路由表10
32766:	from all lookup main
32767:	from all lookup default


#根据目的ip指定策略路由
root@seaice-VirtualBox:/home/seaice# ip rule add to 109.131.9.0/24 table 30
root@seaice-VirtualBox:/home/seaice# ip rule add to 109.131.10.10 table 40

用iptable 设置 网络包的mark,来使用fwmark来指定特定数据包

seaice# iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 1
seaice# ip rule add fwmark 1 table 50

#table 50 就是ip route show table 50, 可以用 ip route add xxx via xxx table 50 来增加路由表

凡是enp0S3端口接入的都走55路由表

root@seaice-VirtualBox:/# ip rule add dev enp0s3 table 55

ip rule 删除策略

root@seaice-VirtualBox:/# ip rule list
0:	from all lookup local
32760:	from all iif enp0s3 lookup 55
32761:	from all fwmark 0x1 lookup 50
32762:	from all to 109.131.10.10 lookup 40
32763:	from all to 109.131.9.0/24 lookup 30
32764:	from 109.131.8.0/24 lookup 20
32765:	from 109.131.7.10 lookup 10
32766:	from all lookup main
32767:	from all lookup default


root@seaice-VirtualBox:/# ip rule del prio 32760
root@seaice-VirtualBox:/# ip rule del fwmark 1
root@seaice-VirtualBox:/# ip rule del table 40
root@seaice-VirtualBox:/# ip rule del table 30
root@seaice-VirtualBox:/# ip rule del from 109.131.8.0/24
root@seaice-VirtualBox:/# ip rule del prio 32765

root@seaice-VirtualBox:/# ip rule list
0:	from all lookup local
32766:	from all lookup main
32767:	from all lookup default

要记得创建新的路由表

ip rule add from 192.168.2.0/24 table 10
ip route add 192.168.1.0/24 dev eth1 table 10
ip route add default via 192.168.1.254 table 10
ip route show table 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值