Routing
centos7上的路由設置
我是路由新手,但需要完成以下路由任務
我有 3 台機器機器 A、B、C、CentOS7,每台機器都禁用 selinux,未安裝防火牆
機器 A有 3 個網卡,
- 連接到網際網路 IP 147.xx67/21(介面 eno16777736)
- 連接到 192.168.0.0/24 (IP 192.168.0.3) (介面 eno50332208)
- 連接到 10.0.0.0/24 (IP 10.0.0.3)(介面 eno33554984)
機器 B有 1 個網卡
- 連接到 192.168.0.0/24 (IP 192.168.0.20)
機器 C有 1 個網卡
- 連接到 10.0.0.0/24 (IP 10.0.0.20)
我需要實現的是,使用 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.x.x.67" #nmcli connection modify "eno50332208" +ipv4.routes "192.168.0.0/24 147.x.x.67" #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.x.x.1 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.x.x.77 via 147.x.x.1 dev eno16777736 proto dhcp metric 100 147.x.x.0/21 dev eno16777736 proto kernel scope link src 147.x.x.67 metric 100 192.168.0.0/24 dev eno50332208 proto kernel scope link src 192.168.0.3 metric 100
看起來路由規則甚至沒有載入?或者我遺漏了一些東西……在 /etc/sysconfig/network-scripts/ 中創建了兩個路由介面……
路線-eno33554984
ADDRESS0=10.0.0.0 NETMASK0=255.255.255.0 GATEWAY0=147.x.x.67 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.x.x.67 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.x.x.67/21 brd 147.x.x.255 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.x.x.67 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736 # sysctl -p net.ipv4.ip_forward = 1
您不需要在連接到所有網路的伺服器上設置任何路由。
您對 route-eno33554984 和 route-eno50332208 的介面配置無效。
正確的配置如下所示:
路線-eno33554984
ADDRESS0=10.0.0.1 NETMASK0=255.255.255.0
也就是說,您只需在子網中為該介面設置一個 IP 地址和一個網路遮罩。
10.0.0.0/24
您需要在伺服器上設置 NAT 以便192.168.0.0/24
可以連接到 Internet。此外,您需要在其他兩台電腦上設置預設路由,以指向它們所連接的子網中的路由器 IP 地址。