标签: route

Linux ip 路由匹配源ip

我想知道是否有可能告诉 Linux 内核通过 interface/ip Y 路由所有目的地为 X 的数据包,但前提是源 IP 地址是特定的。

知道这是否可能吗?

感谢致敬,

linux ip route source

6
推荐指数
2
解决办法
7319
查看次数

如何仅通过番茄上的 openvpn 客户端隧道特定主机路由

我在网络世界中相对新手,虽然我做了编码并且知道一些系统管理员背景很长一段时间。在这里,我离目的地只有一步之遥。

整体情况是:在家里我使用一台LinkSys E3000作为网关(不知道这是不是它的名字),无线AP,没有其他路由/交换设备。它为 1 台 PC 和 1 台带 LAN 的 Mac、1 台 Mac Mini + 1 台 iPad + 2 台带 WIFI 的智能手机提供服务。

我的目标是在 E3000 上使用 openvpn 客户端(带有番茄固件)并使我的 iPad 和智能手机的所有 WiFi 流量都通过它,而其他设备的路由保持相同的非 openvpn 路由。

到目前为止,我能够将 E3000 上的 openvpn 客户端连接到 openvpn 服务器,通过该 openvpn 连接隧道传输我所有设备的所有流量。剩下的是如何通过源 IP(至少在我的猜测中)有选择地路由到隧道,同时不打扰其他人。

在过去的几天里,我学习了一些“iptables”和“route”,但运气不佳,所以我的问题来了。这里有一些信息可以帮助您获得结构。

ifconfig -a 输出,把一些无用的线划掉,在web界面中C0:C1:C0:1A:E0:28是WAN,C0:C1:C0:1A:E0:27是LAN,C0:C1:C0:1A :E0:29 是 2.4G wifi AP,C0:C1:C0:1A:E0:2A 是 5G wifi AP。

root@router:/tmp/home/root# ifconfig -a

br0 Link encap:Ethernet HWaddr C0:C1:C0:1A:E0:27
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST0 Metric:15

eth0 Link encap:Ethernet HWaddr C0:C1:C0:1A:E0:27 …

route iptables openvpn

6
推荐指数
1
解决办法
5万
查看次数

列出路由表需要很长时间才能完成

当我使用 打印在我的计算机上定义的路线时route,大约需要 5 到 20 秒才能完成。为什么要花这么多时间?

启用 VPN:

$ time sudo route
Kernel IP routing table
(...)
real    0m21.423s
user    0m0.000s
sys 0m0.012s
Run Code Online (Sandbox Code Playgroud)

在没有 VPN 的情况下,这大约是 5 秒 - 尽管如此,计算机在这段时间内可以做很多事情。我重复了几次测量,每次尝试都得到非常相似的结果。

我的机器是带有 3.0.0 内核的 Ubuntu,但据我所知,其他计算机上的路由以相同的方式工作。

linux route linux-networking

6
推荐指数
1
解决办法
6100
查看次数

在 Linux 中,使用路由来黑洞 IP 是否比丢弃在 iptables 中的性能更好?

在 DDOS 攻击期间,如果我们发现要阻止的 IP,使用空路由是否会比使用 iptables 获得更好的性能?

空路由我们会做这样的事情:

ip route add blackhole <ip or range>
Run Code Online (Sandbox Code Playgroud)

在 iptables 中:

/sbin/iptables -A INPUT -s <ip or range> -j DR
Run Code Online (Sandbox Code Playgroud)

没有区别吗?我怀疑route会工作得更好,但不确定。

security linux route iptables

6
推荐指数
2
解决办法
3771
查看次数

强制网络流量通过特定的非默认接口进行路由

我有一堆带有多个(3)网卡和相关网络接口的 Linux 服务器。我被一个奇怪的路由问题绊倒了,应该使用默认路由的流量不是,结果路由失败。这是我的路由表的样子:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.31.96.1      0.0.0.0         UG    0      0        0 em3
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 em1
10.31.96.0      0.0.0.0         255.255.252.0   U     0      0        0 em3
10.31.96.0      0.0.0.0         255.255.252.0   U     0      0        0 em4
# ip route list
default via 10.31.96.1 dev em3  proto static 
10.0.0.0/8 dev em1  proto kernel  scope link  src 10.0.0.100 
10.31.96.0/22 dev em3  proto kernel  scope link  src 10.31.97.100 
10.31.96.0/22 …
Run Code Online (Sandbox Code Playgroud)

linux routing route

6
推荐指数
1
解决办法
4万
查看次数

重启后IPv6默认网关路由消失

我在同时使用 IPv4 和 IPv6 的专用服务器上使用 Debian Wheezy。

如果配置 eth0

eth0      Link encap:Ethernet  HWaddr 11:11:11:11:11:11  
          inet adr:90.0.0.1  Bcast:90.0.0.255  Masque:255.255.255.0
          adr inet6: fe80::21c:c0ff:feb9:829c/64 Scope:Lien
          adr inet6: 2001:a100:1:bbbb::1/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1544 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2199 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:304146 (297.0 KiB)  TX bytes:1376282 (1.3 MiB)
Run Code Online (Sandbox Code Playgroud)

(几分钟后,RX 下降计数器增加。)

cat /etc/network/interfaces

我首先使用了“网关”关键字,但它不起作用,所以我尝试在文件中添加路由,但它也不起作用。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 90.0.0.1
    netmask 255.255.255.0
    network 90.0.0.0
    broadcast …
Run Code Online (Sandbox Code Playgroud)

route ipv6 gateway

6
推荐指数
1
解决办法
2884
查看次数

接口上的多个 ip 地址。我想为输出指定其中之一

我在 curlmyip.com 上运行 curl,我得到了错误的输出 IP 地址。我的 systemd 服务文件是:

[Unit]
Description=Wired Networking
Wants=network.target dibbler-client.service
Before=network.target dibbler-client.service

[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network
ExecStart=/sbin/ip link set dev ${interface} up
ExecStart=/sbin/ip addr add ${address}/24 dev ${interface}
ExecStart=/sbin/ip addr add ${failover}/32 dev ${interface}
ExecStart=/sbin/ip route add default via ${gateway} src ${failover}
ExecStart=/sbin/ip -6 addr add ${addressv6}/64 dev ${interface}

ExecStop=/sbin/ip addr flush dev ${interface}
ExecStop=/sbin/ip -6 addr flush dev ${interface}
ExecStop=/sbin/ip link set dev ${interface} down

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

变量是:

interface=eno1
address=88.190.15.135
address6=2001:bc8:300a:dead::b12d
failover=212.83.129.104
broadcast=88.190.15.255
gateway=88.190.15.1
Run Code Online (Sandbox Code Playgroud)

现在,ip 地址给我: …

networking linux ip route iproute

6
推荐指数
2
解决办法
1万
查看次数

Linux 添加了错误的默认路由

出于某种原因,我的 Centos 5.9 Linux 2.6.18 x86_64 希望我有两个默认路由。

每当我重新启动服务器时,我的路由表如下所示:

[root@server1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
255.255.255.255 0.0.0.0         255.255.255.255 UH    0      0        0 bond0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 bond1
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 bond0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 bond1
0.0.0.0         192.168.10.1    0.0.0.0         UG    0      0        0 bond0
0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 bond1
Run Code Online (Sandbox Code Playgroud)

bond1 是一个本地网络,因此最后一条默认路由指向该网络会使所有 Internet 请求失败。

通过执行很容易修复它route del default …

networking linux static-routes route linux-networking

6
推荐指数
1
解决办法
2万
查看次数

如何使用 CentOS 6 永久删除/删除路线中的线路

root@new [~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
178.18.23.200   0.0.0.0         255.255.255.255 UH    0      0        0 eth0
178.18.23.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
176.0.0.0       0.0.0.0         248.0.0.0       U     0      0        0 eth0
0.0.0.0         178.18.23.253   0.0.0.0         UG    0      0        0 eth0
Run Code Online (Sandbox Code Playgroud)

我可以删除 176.0.0.0 条目

route delete -net 176.0.0.0/5
Run Code Online (Sandbox Code Playgroud)

这有效,但重启后这条线又回来了。知道如何永久删除它吗?

route centos linux-networking deleting

5
推荐指数
1
解决办法
6万
查看次数

Centos多网卡路由问题

我在为我的网络接口设置永久路由时遇到问题,

在我的配置下面:

ETH0 : 172.23.137.27 网络掩码 /25 - 255.255.255.128 网关 – 192.168.126.126

ETH1:中继 VLAN - VLAN ID:305 172.21.107.123 网络掩码 /28 - 255.255.255.240 网关 - 172.21.107.113

接口配置如下:

猫 ifcfg-eth0 
设备=eth0
HWADDR=2C:59:E5:42:CB:EC
类型=以太网
#UUID=eefb4ac8-42ba-4fc3-9918-08aae7edef3b
开机=是
#NM_CONTROLLED=否
BOOTPROTO=静态
IPADDR=192.168.126.27
网罩=255.255.255.128
网关=192.168.126.126
#USERCTL=否

猫 ifcfg-eth1
设备=eth1
HWADDR=2C:59:E5:42:CB:ED
UUID=68f6c45e-48ba-4b33-8da7-d4d7979eb72d
开机=是
BOOTPROTO=无
NM_CONTROLED=否

猫 ifcfg-eth1.305 
设备=eth1.305
VLAN=是
开机=是
BOOTPROTO=静态
类型=以太网
IPADDR=172.21.107.123
网罩=255.255.255.240
网关=172.21.107.113
#NM_CONTROLLED=否


路由 -n
内核IP路由表
目标网关 Genmask Flags Metric Ref Use Iface
172.21.107.112 0.0.0.0 255.255.255.240 U 0 0 0 eth1.305
192.168.126.0 0.0.0.0 255.255.255.128 U …

networking redhat nic route vlan

5
推荐指数
1
解决办法
4万
查看次数