Mac 端口转发

来自:

http://my.oschina.net/91jason/blog/546711

看不到内容请点击编辑查看(仅限作者,后续再改)

摘要

mac os 10.10以上的开启端口转发-解决mac默认不开启1024以下端口权限问题

mac os 10.10以上的开启端口转发-解决mac默认不开启102以上端口权限问题

本人 10.10.2的mac os,tomcat想要在80端口上启动,网上查了N多资料都不行,只有这个方案可行:

老版本的OS X使用的是ipfw设置端口转发,但新的版本特别是在我这个OSX Yosemite (10.10.3)中,已经无法使用ipfw,而是换成了PF。

PF配置端口转发的文章网上也有一大堆,但用下来没能解决问题,反而让我迷惑气愤,下面给出最为正确的配置:

首先在 /etc/pf.anchors/ 新建一个 com.pow 文件内容如下:
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080

其中lo0为你ifconfig时查询到的网卡的名字  80是tomcat端口,8080为你想转发的端口

注意: 在段落末尾一定要加换行,否则会报syntax error错误。

然后使用 pfctl 命令检测配置文件

sudo pfctl -vnf /etc/pf.anchors/com.pow

添加到主配置文件

pf启动时会自动装载/etc/pf.conf文件,因此将anchor文件链接到/etc/pf.conf,转发规则就会自动建立了。

在rdr-anchor "com.apple/*"下面增加:

rdr-anchor "pow"

在:load anchor "com.apple" from "/etc/pf.anchors/com.apple"后添加:

load anchor "pow" from "/etc/pf.anchors/com.pow"

最终修改后的pf.conf文件如内容如下

scrub-anchor "com.apple/*"
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
rdr-anchor "pow"
dummynet-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
load anchor "pow" from "/etc/pf.anchors/com.pow"

导入并运行PF命令(关键)

一定要注意导入并允许运行 pf的命令,一个是所有现在网上教程里写的下面这个:

sudo pfctl -f /etc/pf.conf

上面这个在OSX Yosemite (10.10)应该没问题,但在我的OSX Yosemite (10.10.3)里是没有用的,要换成下面这个才能成功:

sudo pfctl -evf /etc/pf.anchors/com.pow

设置pf开机自动打开

sudo pfctl -e

添加的为-e参数,即enable

如果你想要关闭pf  ,命令是 :

sudo pfctl -d
时间: 2024-10-04 00:18:34

Mac 端口转发的相关文章

mac 端口转发方案

mac 端口映射 好坑 osx10.10mac移除了ipfw改用pfpf以前没用过 查文档mac的 pf语法,没有找到.bsd的倒是很全,心喜拿来一试.http://www.openbsd.org/faq/pf/rdr.html 试了bsd的几个example都不行.报语法错误pfctl: Syntax error in config file: pf rules not loadedmac的pf和bsd的pf难道还有区别,版本不对?mac是阉割版的? rdr pass on utun0 pro

mac 端口转发 OS X 10.10.3 (14D136) (转)

Unfortunately, Yosemite breaks pow because ipfw has been completely removed from the OS. I was able to get pow working again using PF, which is the new recommended way to do port forwarding in OS X. Here's what I did to get it working: First, add an

Mac下如何进行端口转发,方便一系列需要使用80端口进行的调试工作

上篇文章介绍到,可以在本地hosts文件中添加一条记录将微信公众号中的可信域名解析道本地127.0.0.1,但tomcat在Mac下非root权限80端口是启动不了的,所以我们可以利用pfctl端口转发来将本地80端口上的请求转发到比如8080端口,从而实现通过80端口的访问. 注意:Mac OS 会使用80端口做网络文件共享, 需要先关闭掉. 一.修改/etc/pf.conf 先对pf.conf进行备份:cp /etc/pf.conf /etc/pf.conf.normal.bak , 之后在

mac 下docker得端口转发

在linux下我们可以在docker中新建容器,然后通过端口转发直接访问到容器.但是在mac下中间又通过了 一层虚拟机,所以端口转发就需要在多做一点. 1 把本地端口和虚拟机对应起来:可以通过命令来做: #VBoxManage modifyvm "boot2docker-vm" --natpf1 "containerssh,tcp,,2222,,2222" 也可以通过手动添加: 点击上图端口转发即可添加. 2 根据镜像建立容器,将虚拟机得2222端口映射到22,并打

Mac下开启与关闭端口转发的脚本配置方法

一.依次运行以下命令: cd /etc ls | grep pf.conf sudo cp pf.conf pf.conf.normal.bak sudo cp pf.conf pf.conf.transmit.bak ls | grep pf.conf 二.修改 pf.conf pf.conf.transmit.bak sudo gedit pf.conf.transmit.bak OR: sudo vim pf.conf.transmit.bak 修改的内容参照上一篇配置端口转发的博文,我这

Linux 网卡驱动学习之(八)(基于 MAC 地址转发数据)

1.构建MAC地址表 交换机技术在转发数据前必须知道它的每一个端口所连接的主机的MAC地址,构建出一个MAC地址表.当交换机从某个端口收到数据帧后,读取数据帧中封装的目的地MAC地址信息,然后查阅事先构建的MAC地址表,找出和目的地地址相对应的端口,从该端口把数据转发出去,其他端口则不受影响,这样避免了与其它端口上的数据发生碰撞.因此构建MAC地址表是交换机的首要工作.下面举例说明交换机建立地址表的过程. [分析]假设主机A向主机C发送一个数据帧(每一个数据帧中都包含有源MAC地址和目的MAC地

centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发

centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm是否支持a: grep '(vmx|svm)' /proc/cpuinfo vmx是intel cpu支持的svm是AMD cpu支持的如果flags: 里有vmx 或者svm就说明支持VT:如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机. b: 确保BIOS里开启VT: Intel(R)

Android adb端口转发调试助手Packet Sender

相信大家做过安卓开发或者安卓自动化测试开发的都离不开adb这个Android Debug Bridge这个工具,该工具有个很重要的功能就是端口转发.比如你在目标安卓机器端建立了一个服务来处理获取当前界面元素,监听的是设备本机网络上的端口5555,那么在pc客户端你就可以执行"adb forward tcp:5555 tcp:5555"来把发送到pc本地的5555端口的数据直接转发到目标安卓机器的服务监听端口上,非常的方便.(这里主要关注的是pc端和安卓机器端通过adb connect

windows下使用远程工具登录虚拟机上的Linux、访问虚拟机上的服务 、端口转发、win7 telnet登陆虚拟机

首先要清楚virtual box如何设置端口转发: 一篇文章: 如何使用VirtualBox进行端口转发 由于默认的方式是用NAT来做虚拟机网络的,因此如果从外网想访问虚拟机的应用会比较麻烦.以前一直用桥接的方式,但IP有限,自己指定的IP可能会和局域网的IP冲突,而用DHCP方式获取的IP又可能会发生变化导致不确定,怎么办?网上查了一下,简单有效的解决方法就是用VirtualBox的“端口映射”功能.下面结合实例来讲讲怎么操做: 应用场景:要将虚拟机的Web 80端口从外面能访问到. 1. 首