
2개의 NIC(eth0 및 eth1)가 있는 CentOS 7 시스템이 있습니다.
NIC 구성:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.43.96.210 netmask 255.255.255.192 broadcast 10.43.96.255
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 146.81.34.150 netmask 255.255.255.128 broadcast 146.81.34.255
내 현재 라우팅 테이블:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.43.96.193 0.0.0.0 UG 100 0 0 eth0
10.43.96.192 0.0.0.0 255.255.255.192 U 100 0 0 eth0
146.81.34.0 0.0.0.0 255.255.255.128 U 0 0 0 eth1
146.81.34.128 146.81.34.254 255.255.255.128 UG 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
NIC eth0은 10.43.96.x 네트워크에 연결되어 있으며 기본 게이트웨이(10.43.96.193)는 10.43.96.x 네트워크 내의 컴퓨터에서 공용 인터넷으로 나가는 연결에 사용됩니다.
NIC eth1은 146.81.34.128/25 네트워크(NIC IP 146.81.34.150, 넷마스크 255.255.255.128, gw 146.81.34.254, 고객이 정의함)에 연결되어 있으며 IP 146.81.34.11에서 서버에 액세스해야 합니다.
146.81.0.0/16 네트워크의 다른 서버는 ping(게이트웨이 146.81.34.254를 통해)을 통해 내 서버(146.81.34.150)에 연결해야 합니다. 예를 들어 146.81.23.95에 있는 서버는 내 서버를 ping해야 합니다. 해당 네트워크의 네트워크 및 라우팅 구성 세부 사항에 대해 자세히 알지 못하며 게이트웨이 146.81.34.254를 사용하라는 지시를 받았습니다.
현재 문제:
고객은 146.81.0.0/16 네트워크(146.81.xx)의 다른 서버가 146.81.34.128/25 네트워크에 올바르게 연결할 수 있다고 말합니다(따라서 핑을 통해 146.81.34.150에 있는 내 서버에 연결할 수 있습니다). 이건 괜찮아.
그러나 146.81.0.0/16 네트워크의 다른 서버는 이제 기본 게이트웨이(10.43.96.193)를 사용하여 내 서버를 통해 다른 IP 주소(146.81.34.128/25가 아닌 다른 네트워크)에 연결하려고 시도하므로 이를 방지해야 합니다.
질문:
146.81.0.0/16 네트워크의 서버에서 이 서버를 통한 전달 연결을 어떻게 방지해야 합니까? 내 서버의 기본 게이트웨이(10.43.96.193)를 사용하면 안 됩니다.
답변1
146.81.0.0/16 네트워크의 서버에서 이 서버를 통한 전달 연결을 어떻게 방지해야 합니까?
가장 간단한 옵션은 다음과 같습니다.완전히sysctl을 통해 IP 전달을 비활성화합니다.
net.ipv4.conf.all.forwarding=0
net.ipv6.conf.all.forwarding=0
만약에일부어떤 종류의 트래픽은 서버를 통해 전달되어야 하지만 그렇지 않은 경우에는 방화벽을 사용합니다. 원하는 트래픽을 허용하고 나머지는 거부(또는 삭제)하는 규칙을 추가하기만 하면 됩니다.
- iptables에는
FORWARD
바로 이러한 목적을 위한 체인이 있습니다. - nft에도 마찬가지로
forward
후크가 있습니다.