Centos 6.x 멀티홈 라우팅 문제

Centos 6.x 멀티홈 라우팅 문제

문제가 있어서 조언을 듣고 싶습니다. (현재 이 문제를 해결하기 위해 2일 동안 작업 중이며 이 서버를 프로덕션에 투입해야 합니다.)

내 "google-foo"는 이것에 강하지 않습니다.

멀티홈 Linux 서버(Centos 6.x)가 있습니다.

이 서버의 이중 10Gig 포트에서 LACP/바인딩을 제거했습니다.

각 NIC에 대해 별도의 IP 경로를 설정하려고 시도함에도 불구하고 모든 것이 NIC em3(시스템의 기본 경로)을 통해 전달됩니다. 나는 이 시스템이 다음과 같은 방식으로 작동하기를 원합니다.

   - em3 to only handle external (internet) traffic.
   - em2 to only handle 10 Gig traffic
   - em1 to handle everything else / internal traffic.

네트워크의 다음 홉은 다음과 같습니다.

  - em1 & em2 go to a good L2/L3, 10 Gig switch 
  - em3 goes to a decent L2/L3, 1 Gig switch

참고: IP 주소가 약간 수정되었습니다.

em1은 내부 네트워크의 모든 것을 볼 수 있는 권한이 있고 기본 방화벽/라우터를 통해 개방형 인터넷에 액세스할 수 있는 내부 1Gig 네트워크입니다.

em1 is  10.10.18.21/16    gw is to be 10.10.5.1

em2는 내부 10Gig 네트워크이며 해당 세그먼트의 다른 10Gig 장치만 볼 수 있습니다.

em2 is  10.16.64.21/26    gw is to be 10.16.64.21

em3은 인증된 사용자에게 원격 연결을 허용하는 외부 네트워크입니다.

em3 is  10.48.61.80/24    gw is to be 10.48.61.1

/etc/iproute/rt_tables 파일에 다음과 같이 항목을 추가했습니다.

#
# reserved values
#
255 local
254 main
253 default
0   unspec
#
# local
#
#1  inr.ruhep
10 em1table
20 em2table
30 em3table

또한 "경로" 및 "규칙" 파일도 만들었습니다.

-rw-r--r--  1 root root    98 Feb 15 08:54 route-em1
-rw-r--r--  1 root root    87 Feb 16 12:31 route-em2
-rw-r--r--  1 root root   102 Feb 16 10:37 route-em3
-rw-r--r--  1 root root    65 Feb 15 08:11 rule-em1
-rw-r--r--  1 root root    68 Feb 16 12:32 rule-em2
-rw-r--r--  1 root root    68 Feb 16 10:37 rule-em3


[/etc/sysconfig/network-scripts]$ cat route-em1
10.10.18.0 dev em1 src 10.10.18.21 table em1table
default via 10.10.5.1 dev em1 table em1table
[/etc/sysconfig/network-scripts]$ cat rule-em1
from 10.10.18.21/16 table em1table
to 10.10.5.1 table em1table


[/etc/sysconfig/network-scripts]$ cat route-em2
10.16.64.0/28 dev em2 table em2table
default via 10.16.64.254 dev em2 table em2table
[/etc/sysconfig/network-scripts]$ cat rule-em2
from 10.16.64.21/28 table em2table
to 10.16.64.254 table em2table

67.134
[/etc/sysconfig/network-scripts]$ cat route-em3
10.48.161.0 dev em3 src 10.48.161.82 table em3table
default via 10.48.161.1 dev em3 table em3table
[/etc/sysconfig/network-scripts]$ cat rule-em3
from 10.48.161.82/24 table em3table
to 10.48.161.1 table em3table


[/etc/sysconfig/network-scripts]$ ip route show table em1table
10.10.18.0 dev em1  scope link  src 10.10.18.21 
default via 10.10.5.1 dev em1 

[/etc/sysconfig/network-scripts]$ ip route show table em2table
10.16.64.0/28 dev em2  scope link 
default via 10.16.64.254 dev em2 

[/etc/sysconfig/network-scripts]$ ip route show table em3table
10.48.161.0 dev em3  scope link  src 10.48.161.82 
default via 10.48.161.1 dev em3 

다음은 몇 가지 추가 정보입니다.

[/etc/sysconfig/network-scripts]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.48.161.0     0.0.0.0         255.255.255.0   U     0      0        0 em3
10.16.64.0      0.0.0.0         255.255.192.0   U     0      0        0 em2
10.10.0.0       0.0.0.0         255.255.0.0     U     0      0        0 em1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 em1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 em2
169.254.0.0     0.0.0.0         255.255.0.0     U     1004   0        0 em3
0.0.0.0         10.48.161.1     0.0.0.0         UG    0      0        0 em3
[/etc/sysconfig/network-scripts]$ 


[/etc/sysconfig/network-scripts]$ ip route show
10.48.161.0/24 dev em3  proto kernel  scope link  src 10.48.161.82 
10.16.64.0/18 dev em2  proto kernel  scope link  src 10.16.64.21 
10.10.0.0/16 dev em1  proto kernel  scope link  src 10.10.18.21 
169.254.0.0/16 dev em1  scope link  metric 1002 
169.254.0.0/16 dev em2  scope link  metric 1003 
169.254.0.0/16 dev em3  scope link  metric 1004 
default via 10.48.161.1 dev em3 
[/etc/sysconfig/network-scripts]$ 


[/etc/sysconfig/network-scripts]$ ip route show to match 10.16.64.0/28
10.16.64.0/18 dev em2  proto kernel  scope link  src 10.16.64.21 
default via 67.134.161.1 dev em3 

[/etc/sysconfig/network-scripts]$ ip route show to match 10.10.18.0/16
10.10.0.0/16 dev em1  proto kernel  scope link  src 10.10.18.21 
default via 67.134.161.1 dev em3 

[/etc/sysconfig/network-scripts]$ ip route show to match 67.134.161.0/24
10.48.161.0/24 dev em3  proto kernel  scope link  src 10.48.161.82 
default via 10.48.161.1 dev em3 



[/etc/sysconfig/network-scripts]$ cat ifcfg-em1
DEVICE=em1
#MASTER=bond0
#SLAVE=yes
HWADDR=c8:1f:66:f4:ce:10
TYPE=Ethernet
UUID=bfa14e4a-66b0-4b83-93a4-094f9090aea7
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=10.10.18.21
PREFIX=16
#GATEWAY=10.10.5.1
DNS1=10.10.5.8
DNS2=10.10.5.9
DOMAIN=AXS
DEFROUTE=YES
IP4_FAILURE_FATAL=yes
IP6INIT=no
NAME="em1"
NETMASK=255.255.0.0
IPV6INIT=no
USERCTL=no

[/etc/sysconfig/network-scripts]$ cat ifcfg-em2
DEVICE=em2
#MASTER=bond0
#SLAVE=yes
HWADDR=c8:1f:66:f4:ce:12
TYPE=Ethernet
UUID=c8c5e1fb-ba40-4537-89ad-f7df5de59f8b
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=10.16.64.21
PREFIX=18
#GATEWAY=10.16.64.254
DNS1=10.10.5.8
DNS2=10.10.5.9
DOMAIN=AXS
#DEFROUTE=YES
IP4_FAILURE_FATAL=yes
IP6INIT=no
NAME="em2"
#IPADDR=10.16.64.21
NETMASK=255.255.192.0
IPV6INIT=no
USERCTL=no

[/etc/sysconfig/network-scripts]$ cat ifcfg-em3
DEVICE=em3
HWADDR=C8:1F:66:F4:CE:14
TYPE=Ethernet
UUID=aa9552be-0075-46b2-8eff-b7c49c8c999f
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=10.48.161.82
PREFIX=24
GATEWAY=10.48.161.1
DNS1=10.10.5.8
DNS2=10.10.5.9
DNS3=205.171.3.65
DNS4=8.8.8.8
DOMAIN=axs.tv
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
USERCTL=no

그리고 각 인터페이스에 ping을 시도하면 다음과 같습니다.

[/etc/sysconfig/network-scripts]$ ping -I em1 10.10.5.1
PING 10.10.5.1 (10.10.5.1) from 10.10.18.21 em1: 56(84) bytes of data.
--- 10.10.5.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2846ms
rtt min/avg/max/mdev = 0.081/0.101/0.135/0.024 ms

[/etc/sysconfig/network-scripts]$ ping -I em2 10.16.64.154
PING 10.16.64.154 (10.16.64.154) from 10.16.64.21 em2: 56(84) bytes of data.
--- 10.16.64.154 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4022ms
pipe 3

[/etc/sysconfig/network-scripts]$ ping -I em3 www.google.com
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3366ms
rtt min/avg/max/mdev = 2.657/2.679/2.711/0.041 ms

답변1

이것은 오래된 항목이라는 것을 알고 있지만 다세대 검색에는 여전히 표시됩니다.
추가 게이트웨이를 추가할 때 혼란스럽습니다. 한 번에 하나씩만 사용할 수 있습니다.
항상 모든 트래픽을 선점하려면 기본 게이트웨이를 지정하세요.
저는 세 가지 설정만으로 문제를 해결했습니다.
즐겨 사용하는 sysctl 스크립트에 다음을 추가하세요. (저는 Centos에서 /usr/lib/sysctl.d/99-multihome을 사용합니다.)

# add forwarding
net.ipv4.ip_forward = 1
# Accept source routing
net.ipv4.conf.default.accept_source_route = 1
net.ipv4.conf.all.accept_source_route = 1

이 변경 사항을 처리할 때 방화벽이 제대로 작동하는지 확인할 수 있습니다.

관련 정보