在centos7上进行路由设置

我是新来的路由,但需要完成以下路由任务

我有3台机器A,B,C,CentOS7在他们每个人,selinux禁用,防火墙没有安装

我需要实现的是,使用CentOS7,将机器A上的路由设置为

  • 1 – 共享互联网的所有现有机器和其他任何我可能连接。
  • 2 – 设置IP转发,使所有机器都可以互相访问。

我确实尝试了以下内容:

在路由器机器上打开包转发:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 

并设置一些路由规则

 #nmcli connection modify "eno33554984" +ipv4.routes "10.0.0.0/24 147.xx67" #nmcli connection modify "eno50332208" +ipv4.routes "192.168.0.0/24 147.xx67" #nmcli connection modify "eno33554984" +ipv4.routes "10.0.0.0/24 192.168.0.3" #nmcli connection modify "eno50332208" +ipv4.routes "192.168.0.0/24 10.0.0.3" nmcli connection reload systemctl restart network nmcli connection up eno33554984 nmcli connection up eno50332208 

但它不工作….

 ip route default via 147.xx1 dev eno16777736 proto static metric 100 10.0.0.0/24 dev eno33554984 proto kernel scope link src 10.0.0.3 metric 100 147.xx77 via 147.xx1 dev eno16777736 proto dhcp metric 100 147.xx0/21 dev eno16777736 proto kernel scope link src 147.xx67 metric 100 192.168.0.0/24 dev eno50332208 proto kernel scope link src 192.168.0.3 metric 100 

看起来像路由规则甚至没有加载? 或者我失去了一些东西…在/ etc / sysconfig /networking脚本/两个路由接口创build..

路由eno33554984

 ADDRESS0=10.0.0.0 NETMASK0=255.255.255.0 GATEWAY0=147.xx67 ADDRESS1=10.0.0.0 NETMASK1=255.255.255.0 GATEWAY1=192.168.0.3 

路由eno50332208

 ADDRESS0=192.168.0.0 NETMASK0=255.255.255.0 GATEWAY0=147.xx67 ADDRESS1=192.168.0.0 NETMASK1=255.255.255.0 GATEWAY1=10.0.0.3 ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:70:12:6f brd ff:ff:ff:ff:ff:ff inet 147.xx67/21 brd 147.xx255 scope global dynamic eno16777736 valid_lft 2387sec preferred_lft 2387sec inet6 fe80::20c:29ff:fe70:126f/64 scope link tentative dadfailed valid_lft forever preferred_lft forever 3: eno33554984: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:70:12:79 brd ff:ff:ff:ff:ff:ff inet 10.0.0.3/24 brd 10.0.0.255 scope global eno33554984 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe70:1279/64 scope link valid_lft forever preferred_lft forever 4: eno50332208: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:70:12:83 brd ff:ff:ff:ff:ff:ff inet 192.168.0.3/24 brd 192.168.0.255 scope global eno50332208 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe70:1283/64 scope link valid_lft forever preferred_lft forever 

机器A的路由

 route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default comhub.home 0.0.0.0 UG 100 0 0 eno16777736 10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eno33554984 192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eno50332208 147.xx67 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736 # sysctl -p net.ipv4.ip_forward = 1 

您不需要在连接到所有networking的服务器上设置任何路由。

您的route-eno33554984和route-eno50332208的接口configuration无效。

正确的configuration如下所示:

路由eno33554984

 ADDRESS0=10.0.0.1 NETMASK0=255.255.255.0 

也就是说,您只需要在该接口的子网中设置一个IP地址和一个networking掩码。

您需要在服务器上设置NAT,以便10.0.0.0/24192.168.0.0/24可以连接到Internet。

此外,您需要将其他两台计算机上的默认路由设置为指向其所连接的子网中的路由器IP地址。

我想expression他对Tero Kilkanen的罪过,他真的试图帮助和特别感谢大卫

非常重要的问题是有一个NetworkManager的问题有时甚至重新启动networking设置停留,等等..有时甚至在重新启动设置保持不变,

在任何改变之后

 systemctl restart NetworkManager systemctl restart network 

问题2我曾经是通过networkingpipe理器nmtui添加4-5 ip,似乎CentOS7或networkingpipe理器无法消化所有的IP。 所以删除所有IP,每个接口只保留1个IP,重新启动networkingpipe理器删除路由规则

 rm -fr /etc/sysconfig/network-scripts/route* 

重新启动的networking

使用iptables(不firewald)设置NAT,一切开始工作