포트 A에서 포트 B로 들어오는 트래픽을 리디렉션하고 포트 B에서는 로컬 호스트 트래픽을 허용하지만 들어오지는 않는 방법은 무엇입니까?

포트 A에서 포트 B로 들어오는 트래픽을 리디렉션하고 포트 B에서는 로컬 호스트 트래픽을 허용하지만 들어오지는 않는 방법은 무엇입니까?

MySql 서버에 "작은" 보안을 추가하고 싶습니다.

포트 330을 열어두고 싶지만 내부 목적(localhost)으로만 사용하고 3306으로 리디렉션되는 다른 포트(예: 12345)를 열고 싶습니다.

따라서 "12345에서 들어오는 모든 트래픽은 3306으로 리디렉션되지만 3306 외부에서 들어오는 트래픽은 꺼집니다"라는 eth1 인터페이스에만 iptable 경로를 추가해야 합니다.

3306에서 외부 수신 트래픽을 끄는 방법은 무엇입니까?

답변1

귀하의 모든 요구 사항을 잘 이해했다면 다음을 수행하십시오.

# assuming your network interface is named `eth1` as per your OP example

iptables -t raw -A PREROUTING -i eth1 -p tcp --dport 3306 -j DROP
iptables -t nat -A PREROUTING -p tcp --dport 12345 -j REDIRECT --to-port 3306

첫 번째 명령은 eth1TCP 포트 3306에서 들어오는 연결을 비활성화합니다.

두 번째 명령은 로컬 포트 ​​12345로 들어오는 모든 연결을 로컬 포트 ​​3306으로 리디렉션합니다.

eth0, eth1, 등 으로 명명된 여러 인터페이스가 있고 eth2이를 모두 차단하려는 경우 eth+위의 첫 번째 명령에 지정하면(더하기 기호 참고) 인터페이스를 가져옵니다. 그렇지 않으면 선택적으로 특정 인터페이스만 차단할 수 있습니다. 각 인터페이스는 첫 번째 명령을 한 번 사용하여 차단되어야 합니다.

위의 두 명령은 요청한 동작을 달성하는 데 필요한 명령이며 전반적인 요구 사항에 따라 충분할 수 있습니다.


그러나 보다 일관된 경험을 위해서는 추가 선택적 구성을 사용하는 것이 좋습니다.

iptables -t nat -A OUTPUT -o lo -p tcp --dport 12345 -j REDIRECT --to-port 3306

이는 리디렉션됩니다.현지의동일한 로컬 컴퓨터에서 포트 12345를 통해 mysql에 연결할 수도 있도록 로컬 포트 ​​12345에서 로컬 포트 ​​3306으로의 연결을 시작합니다.


마지막으로,중요한 참고 사항-A, 명령 옵션 기억iptables추가따라서 추가된 새 규칙보다 우선하여 규칙을 방해하는 규칙에 대한 규칙이 이미 존재합니다.

따라서 iptables 명령을 사용하려고 하면 어느 시점에서 관련된 테이블을 지워야 할 수 있으며 -F옵션을 사용하여 다음과 같이 이를 수행할 수 있습니다.

iptables -t raw -F PREROUTING
iptables -t nat -F PREROUTING

# and possibly also
iptables -t nat -F OUTPUT
# if you also used the additional advised commmand

반면에 다음 명령을 명확하게 기억하십시오.모두이 표에 존재하는 규칙에는 다른 방화벽으로 인해 존재할 수 있는 규칙이 포함됩니다. 특정 규칙을 선택적으로 제거하는 더 세분화된 명령이 있지만 이는 전체 iptables 설정에 따라 다릅니다(여기에 표시된 두 가지 간단한 규칙보다 더 복잡한 경우).

따라서 항상 초기 구성이 무엇인지 먼저 확인해야 합니다. 다음과 같이 -Lie 옵션을 사용하여 이 작업을 수행할 수 있습니다.iptables

iptables -t raw -nL PREROUTING
iptables -t nat -nL PREROUTING

# and possibly also
iptables -t nat -nL OUTPUT
# if you also used the additional advised commmand

물론 규칙을 추가할 때 언제든지 이를 사용하여 테이블의 현재 상태를 확인할 수도 있습니다. 그런 다음 v옵션(그림 참조 ) 을 추가하여 -nvL시간 경과에 따른 네트워크 트래픽과 일치하는(또는 일치하지 않는) 규칙 카운터를 볼 수 있습니다.

관련 정보