On OS X 10.6 you do not have iptables, so what is the full solution for this permanently redirect all request sent to port 80 to another port, like 8080?

It has to be persistent.

link|improve this question

79% accept rate
I wanted to suggest rinetd because it is so simple I thought it would compile anywhere, but there does not seem to be a port to OS X, unfortunately... – Nicolas Raoul Sep 22 '10 at 11:55
feedback

2 Answers

up vote 3 down vote accepted

Use ipfw as in @bindbn's answer. That's the general idea.

Persistence:

put your rules into a file :

/etc/ipfw.conf

add at the very top of your file

flush

Ensure that there are not leading or trailing whitespaces in any line.

add to /Library/LaunchDaemons/com.yourdomain.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.yourdomain.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>

Either reboot, or

launchctl load -w /Library/LaunchDaemons/com.yourdomain.ipfw.plist

the first time.

After that it is

launchctl load com.yourdomain.ipfw
link|improve this answer
Chinggsy, I tried your method and everything runs but once it does I get an error in the console. 3/30/11 4:07:01 PM com.apple.ipfw[342] Line 1: socket: Operation not permitted The permissions on both files are set to root as the owner and the issue persists. What am I missing? peace – concertman Mar 30 '11 at 21:15
feedback

Use ipfw(read http://discussions.info.apple.com/message.jspa?messageID=10945451 http://discussions.apple.com/thread.jspa?messageID=10996939�)

ipfw add NUMBER fwd 127.0.0.1,8080 tcp from any to me 80

or http://www.hanynet.com/waterroof/

link|improve this answer
Thank but is missing something, this change is not persistent. – Sorin Sbarnea Sep 22 '10 at 14:29
okay ,... place your plist in Launch agents not launch Daemon. amazing it worked for me. – doctorfoo1 Dec 31 '11 at 1:23
'NUMBER' is some sort of position in ipfw and should be replaced with an actual number – Drew Feb 16 at 17:10
feedback

protected by Mark Henderson Dec 31 '11 at 1:25

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.

Not the answer you're looking for? Browse other questions tagged or ask your own question.