Programming

OSX(Mac) Port Forwarding

OSX(Mac) Port Forwarding

1. 이슈사항

플래시 플레이어에서 TCP연결을 시도하면 플래시 플레이어 내부에서 TCP 843 포트로 크로스도메인(Cross Domain) 정보 확인을 요청한다.
그렇지만 리눅스와 OSX에서는 1024 포트 아래에 있는 포트는 관리자만 사용이 가능한 포트로 일반 사용자는 해당 포트(843)를 바인딩 할 수 없는 문제가 발생.

2. 해결방법

1024 이상의 특정 포트(1843)로 바인딩을 하고 특정 포트 843번으로 요청이 들어오면 내부의 1843 포트로 포워딩 하는 방식.

2.1 설정방법

Port Map을 사용하는 방법이 사용자 입장에서는 쉬운방법이지만 서버를 운영한다는 생각으로 설정 파일을 변경하여 적용하도록 변경.

2.1.1 네트워크 인터페이스 확인

$ ifconfig

ifconfig 출력 결과

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 60:f8:1d:b4:43:de
inet6 fe80::62f8:1dff:feb4:43de%en0 prefixlen 64 scopeid 0x4
inet 192.168.10.42 netmask 0xffffff00 broadcast 192.168.10.255
nd6 options=1 media: autoselect
status: active
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 72:00:07:97:53:30
media: autoselect
status: inactive

출력 내용중 자신이 사용하는 IP(192.168.10.42)에 해당하는 인터페이스를 확인
위에서는 en0 이 포워딩이 필요한 인터페이스 정보.

2.1.2 포워딩 룰 설정

2.1.2.1 flash.crossdomain.forwarding 파일 생성
$ sudo vim /etc/pf.anchors/flash.crossdomain.forwarding

/etc/pf.anchors/flash.crossdomain.forwarding

rdr pass on en0 inet proto tcp from any to 192.168.10.42 port 843 -> 192.168.10.42 port 1843

네트워크 카드 정보(en0) 와 아이피 포트 정보를 자신이 사용하는 정보로 정확하게 입력한다.

2.1.2.2 pf-flash-crossdomain.conf 파일 생성
$ sudo vim /etc/pf-flash-crossdomain.conf

/etc/pf-flash-crossdomain.conf

rdr-anchor "forwarding"
load anchor "forwarding" from "/etc/pf.anchors/flash.crossdomain.forwarding"

2.1.3 포워딩 룰 활성화

$ sudo pfctl -ef /etc/pf-flash-crossdomain.conf

2.1.4 포워딩 룰 비활성화

포워딩이 필요하지 않게 되면 사용하도록 한다.

$ sudo pfctl -d

3. 참고사이트

기본

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중