본문 바로가기

카테고리 없음

맥에서 80포트 사용하기(포워딩)

Mac에서 포트포워딩을 설정하기 위해선 ipfw를 사용하는데 문제는 재부팅을 하면 설정이 없어진다는거라 여간 불편한게 아니다. 

좀 검색을 해보니 역시 재부팅이 되도 계속 유지하도록 할수 있는 방법이 있어 적어본다. 

먼저 80 포트로 들어온 request를 8080으로 보내기 위해선 아래와 같은 명령어로 설정할수 있다. 

$> sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in
$> sudo ipfw show 

00100  18913  10493051 fwd 127.0.0.1,8080 tcp from any to any dst-port 80 in

65535 557295 157333446 allow ip from any to any 

 
자. 이제 재부팅되도 변하지 않는 불변의 셋팅을 시작하자. 

1. 먼저 적당한 곳에 conf 파일을 만들고 그 안에 rule을 적어서 저장한다.  (flush를 가장 위에 꼭 추가하자!)

$> sudo vi /etc/ipfw.conf
# 파일내용
flush
add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in 

 
2. /Library/LaunchDaemons/com.domain.ipfw.plist 라는 파일을 만들고 아래 내용을 복사하여 저장한다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.domain.ipfw</string>
    <key>Program</key>
    <string>/sbin/ipfw</string>
    <key>ProgramArguments</key>
    <array>
      <string>/sbin/ipfw</string>
      <string>-q</string>
      <string>/etc/ipfw.conf</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

 
3.  아래의 명령어를 실행하면 끝!

$>  launchctl load -w /Library/LaunchDaemons/com.domain.ipfw.plist

 

이제 재부팅 후 sudo ipfw show 를 확인해보면 설정이 삭제되지 않고 남아있는걸 확인할수 있다.