我在这方面很新,所以如果你需要澄清,请多问我一下,因为我有可能不能正确描述问题。
让我假设我有这种情况:
这里我有关于enp2s0的详细信息:
cat ifcfg-enp2s0
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="no"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp2s0"
DEVICE="enp2s0"
ONBOOT="yes"
DNS1="8.8.8.8"
DNS2="4.2.2.4"
IPADDR=192.168.0.100
PREFIX=24
GATEWAY=192.168.0.1
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
和enp4s1:
cat ifcfg-enp4s1
TYPE=Ethernet
BOOTPROTO=static
DNS1=8.8.8.8
DNS2=4.2.2.4
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=enp4s1
ONBOOT=yes
MTU=1440
IPADDR=5.2.162.266
PREFIX=21
GATEWAY=5.2.160.1
DEVICE="enp4s1"
(我希望它们有单独的路线,不能用作DEFROUTE enp4s1)
我不需要默认网关。我需要来自公共IP的请求,以便通过它的网关和本地请求在本地解决。
我如何实现这种类型的路由?
谢谢你帮助哥们!
答案 0 :(得分:-1)
如果您只有192.168.0.0/24且没有其他专用网络,只需从GATEWAY=192.168.0.1
配置文件中删除DNS1="8.8.8.8"
,DNS2="4.2.2.4"
和enp2s0
行。如果您这样做,您的默认GW将为5.2.160.1
,来自您的专用网络192.168.0.0/24
的所有请求都将由enp2s0
界面回答。
如果您需要添加更多本地专用网络,则需要为每个网络添加路由。例如,如果您还有192.168.1.0/24,则需要运行此命令才能为此网络添加路由ip route add 192.168.1.0/24 via 192.168.0.1 dev enp2s0
。
请勿忘记在更改systemctl restart network
后重新启动网络守护程序。