특정 로컬 IP에 방화벽 규칙을 적용하려면 어떻게 해야 하나요?

특정 로컬 IP에 방화벽 규칙을 적용하려면 어떻게 해야 하나요?

나는 게임 서버를 호스팅하고 결과적으로 몇 개의 IP를 갖게 되었습니다. 메인 서버 IP에는 게임 패널이 있고, 다른 IP는 고객을 위해 호스팅하는 게임 서버에서 사용하도록 예약되어 있습니다.

결과적으로 포트 80과 443이 열려 있기를 바랍니다.오직기본 서버 IP 주소에 있습니다. 이 문제를 다루는 명령을 검색했지만 iptables아무것도 찾지 못했습니다(특정 외부 IP에 대한 포트를 허용/차단하는 방법에 대한 결과만 나와 있음).

로 이것이 가능합니까 iptables? 그렇다면 어떻게?

운영체제는 우분투 14.04LTS입니다.

답변1

IP를 기준으로 차단/허용도 가능합니다. 매뉴얼 페이지에서http://linux.die.net/man/8/iptables

-s, --source [!] 주소[/mask] 소스 사양입니다. 주소는 네트워크 이름, 호스트 이름(DNS와 같은 원격 쿼리로 확인될 이름을 지정하는 것은 정말 좋지 않습니다.), 네트워크 IP 주소(/mask 사용) 또는 일반 IP 주소일 수 있습니다. 마스크는 네트워크 마스크이거나 네트워크 마스크 왼쪽에 1의 수를 지정하는 일반 숫자일 수 있습니다. 따라서 마스크 24는 255.255.255.0과 같습니다. ㅏ "!" 주소 지정 앞의 인수는 주소 의미를 반전시킵니다. --src 플래그는 이 옵션의 별칭입니다. -d, --destination [!] 주소[/mask] 대상 지정입니다. 구문에 대한 자세한 설명은 -s(소스) 플래그 설명을 참조하세요. --dst 플래그는 이 옵션의 별칭입니다.

그래서 당신은 다음과 같은 것을 할 수 있습니다

sudo iptables -A INPUT -d [serverip]/32 -p tcp --dport 80 -j ACCEPT

포트 80에서만 지정된 IP를 허용하거나 다른 IP의 수신을 차단할 수 있습니다.

소스 주소의 경우 플래그는 다음과 같습니다.-s

관련 정보