양쪽 이전 판 이전 판 다음 판 | 이전 판 |
multiple_gateway_설정 [2024/04/19 06:38] – koov | multiple_gateway_설정 [2024/04/19 12:06] (현재) – [NetworkManager 사용시] koov |
---|
동일한 환경에서 ''SERVER-A''의 두번째 NIC인 ''eth1''의 ''10.33.0.117''로 핑을 시도하면 핑이 되지 않는것을 확인할 수 있다. | 동일한 환경에서 ''SERVER-A''의 두번째 NIC인 ''eth1''의 ''10.33.0.117''로 핑을 시도하면 핑이 되지 않는것을 확인할 수 있다. |
| |
이때 ''tcpdump''를 살펴보면 아래와 같다. | 이때 ''SERVER-A''에서 ''tcpdump''를 살펴보면 아래와 같다. |
<WRAP prewrap> | <WRAP prewrap> |
<code bash> | <code bash> |
</WRAP> | </WRAP> |
| |
이렇게 하면 ''PING''통신이 동작하는데 SERVER-A에서 ''tcpdump''로 패킷을 확인해보면 | 이렇게 하면 ''PING''통신이 동작하는데 ''SERVER-A''에서 ''tcpdump''로 패킷을 확인해보면 |
| |
<WRAP prewrap> | <WRAP prewrap> |
''NetworkManager''는 자체적으로 별도의 라우팅테이블을 지정하는 기능이 없으므로 ''dispatcher script''를 이용하여야 한다. | ''NetworkManager''는 자체적으로 별도의 라우팅테이블을 지정하는 기능이 없으므로 ''dispatcher script''를 이용하여야 한다. |
| |
위와 동일한 구성을 하려면 아래 파일을 생성하면 된다. 그리고 해당파일에 반드시 실행권한(+x)을 부여해줘야 한다. | 위와 동일한 구성을 하려면 아래 파일을 생성하면 된다. |
| |
''/etc/NetworkManager/dispatcher.d/10-multiple-gw'' | ''/etc/NetworkManager/dispatcher.d/10-multiple-gw'' |
<WRAP prewrap> | <WRAP prewrap> |
<code bash> | <code vim> |
#!/bin/bash | #!/bin/bash |
| |
</WRAP> | </WRAP> |
| |
| 그리고 **해당파일에 반드시 실행권한(+x)을 부여**해줘야 한다. 각 스크립트는 ''root''가 소유한 **일반 실행 파일**이어야 합니다. 또한 그룹이나 다른 사람이 쓸 수 없어야 하며 ''setuid''가 아니어야 합니다. |
| 참조링크 : https://networkmanager.dev/docs/api/latest/NetworkManager-dispatcher.html |
| |
| 한방에 하려면 아래 ''chmod''명령어 참고 |
| <WRAP prewrap> |
| <code bash> |
| chmod +x,g-w,o-w,-s,-t /etc/NetworkManager/dispatcher.d/10-multiple-gw |
| </code> |
| </WRAP> |
| |
| |
* 커널 공식 문서에는 이 값이 기본적으로 ''0''으로 설정되어 있다고 하지만 리눅스 배포판마다 기본값을 다르게 설정하고 있습니다. | * 커널 공식 문서에는 이 값이 기본적으로 ''0''으로 설정되어 있다고 하지만 리눅스 배포판마다 기본값을 다르게 설정하고 있습니다. |
| |
* RHEL 6 이상은 기본적으로 [[http://tools.ietf.org/html/rfc3704]]에 권장되는 엄격한 역방향 전달 필터링을 적용하도록 구성됩니다. 기본값 ''1'' | * ''RHEL 6'' 이상은 기본적으로 [[http://tools.ietf.org/html/rfc3704]]에 권장되는 엄격한 역방향 전달 필터링을 적용하도록 구성됩니다. 기본값 ''1'' |
| |
* Strict mode(엄격한 필터링)는 __패킷이 시스템에 도착하면 커널이 패킷의 소스 IP를 가져와 라우팅 테이블을 조회하여 패킷이 도착한 인터페이스가 커널이 해당 IP에 패킷을 보내는 데 사용하는 것과 동일한 인터페이스인지 확인__합니다. 인터페이스가 동일하면 패킷이 엄격한 필터링 테스트를 통과하고 정상적으로 처리됩니다. **인터페이스가 동일하지 않으면 패킷은 추가 처리 없이 폐기**되고 RHEL 7+에서는 ''IPReversePathFilter''카운터가 증가됩니다. | * ''Strict mode(엄격한 필터링)''는 __패킷이 시스템에 도착하면 커널이 패킷의 소스 IP를 가져와 라우팅 테이블을 조회하여 패킷이 도착한 인터페이스가 커널이 해당 IP에 패킷을 보내는 데 사용하는 것과 동일한 인터페이스인지 확인__합니다. 인터페이스가 동일하면 패킷이 ''엄격한 필터링 테스트''를 통과하고 정상적으로 처리됩니다. **인터페이스가 동일하지 않으면 패킷은 추가 처리 없이 폐기**되고 ''RHEL 7+''에서는 ''IPReversePathFilter''카운터가 증가됩니다. |
| |
* 엄격한 필터링의 주요 효과는 **지정된 원격 IP의 경우 시스템이 특정 인터페이스를 통해서만 통신한다**는 것입니다. 지정된 원격 IP 또는 네트워크에 응답하는 인터페이스를 제어하도록 정적 경로를 설정합니다. | * 엄격한 필터링의 주요 효과는 **지정된 원격 IP의 경우 시스템이 특정 인터페이스를 통해서만 통신한다**는 것입니다. 지정된 원격 IP 또는 네트워크에 응답하는 인터페이스를 제어하도록 정적 경로를 설정합니다. |
| |
* ''RHEL 5'' 이전버전에서 커널은 엄격한 필터링을 지원하지 않았습니다. 따라서 이러한 이전 릴리스에서 매개 변수에는 0(비활성화) 및 1(느슨한) 두 가지 가능한 값만 있습니다. 기본값은 1(느슨한)입니다. | * ''RHEL 5'' 이전버전에서 커널은 엄격한 필터링을 지원하지 않았습니다. 따라서 이러한 이전 릴리스에서 매개 변수에는 ''0(비활성화)'' 및 ''1(느슨한)'' 두 가지 가능한 값만 있습니다. 기본값은 ''1(느슨한)''입니다. |
| |
<WRAP prewrap> | <WRAP prewrap> |