文档章节

mac 使用 pf 做端口转发

傅易
 傅易
发布于 2016/10/15 22:38
字数 333
阅读 233
收藏 1
mac

曾经的 ipfw 已经被 pf 所替换。

你可以跟着手册来。

$ man pfctl
$ man pf.conf

或者手动新建文件 /etc/pf.anchors/http。文件内容如下:

rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 4443
rdr pass on en0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on en0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 4443

检查其正确性。

$ sudo pfctl -vnf /etc/pf.anchors/http

修改 pf 的主配置文件 /etc/pf.conf

pf.conf 对指令的顺序有严格要求,相同的指令需要放在一起,否则会报错 Rules must be in order: options, normalization, queueing, translation, filtering.

# 在 rdr-anchor "com.apple/*" 下添加
rdr-anchor "http-forwarding"

# 在 load anchor "com.apple" from "/etc/pf.anchors/com.apple" 下添加
load anchor "http-forwarding" from "/etc/pf.anchors/http"

最后导入并允许运行。

$ sudo pfctl -ef /etc/pf.conf

我又执行了如下命令强制重启 pf。

$ sudo pfctl -E

大功告成。

新版 Mac OS 10.11 EI Captian 加入了系统完整性保护机制,需重启到安全模式执行下述命令关闭文件系统保护:

$ csrutil enable --without fs

然后才能修改 /System/Library/LaunchDaemons/com.apple.pfctl.plist 文件实现开机自启用配置:

<string>pfctl</string>
<string>-e</string>
<string>-f</string>
<string>/etc/pf.conf</string>

添加了上述 -e 行。

使用下述命令关闭 pf:

$ sudo pfctl -d

© 著作权归作者所有

傅易
粉丝 28
博文 110
码字总数 68632
作品 0
海淀
后端工程师
私信 提问
mac os 10.10以上的开启端口转发-解决mac默认不开启1024以下端口权限问题

mac os 10.10以上的开启端口转发-解决mac默认不开启102以上端口权限问题 本人 10.10.2的mac os,tomcat想要在80端口上启动,网上查了N多资料都不行,只有这个方案可行: 老版本的OS X使用的是...

明舞
2015/12/17
17.7K
7
微信公众平台开发系列之必备知识

一、微信公众号开发需要准备的一些资料以及如何搭建一个测试服务器 微信公众号开发之前,首先要有一个公众号,不同类型的公众号具备不同的接口权限。 可以看到,如果想使用微信的很多高级接口...

充电实践
2018/07/07
0
0
STP生成树协议的工作过程

1、确定交换机角色 根交换机:在一个局域网中(LAN),同一个VLAN中只有一个(无其他配置) 非根交换机:在一个局域网中除根交换机之外的其他交换机。 原则:比较每个交换机的 BID(桥ID),越小越好...

的BLOG
2017/10/19
0
0
如何实现同一交换机下广播域的隔离(VLAN)?华为交换机配置样例

华为交换机VLAN配置 VLAN的划分是在交换机的基础上建立的,怎样使交换机完成这项工作? 在探索之前,先了解网络中的两个区域: 什么是冲突域? 冲突域是与外界交互的数据必然会送达的区域。 在HUB...

老城小叙
2017/04/29
0
0
使用Cisco Packet Tracer之交换机端口安全之MAC地址洪泛攻击

我们都知道,组建我们的网络,交换机是必不可少的一个设备,我们都会用它来做一些相应的配置,如划分VLAN、VTP、以及生成树这些,,但是当我们配置了这些以后呢?我们如何来保证我们局域网内...

wbf961127
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

视频如何加水印?

很多视频制作者的视频都被他人盗用过,为了防止自己的劳动成果被他人窃取,给视频加水印对于视频制作者来说,是一件非常重要的事情。那么下面分享一个手机给视频加水印的方法,一起来看看吧!...

白米稀饭2019
22分钟前
3
0
004-Envelop-基于Blockstack的文件传输dapp

本篇文章主要介绍基于Blockstack的文件传输工具; ####A-链接地址 官网地址:https://envelop.app/ Github地址:https://github.com/envelop-app ####B-特性: 1: Share private files easil...

Riverzhou
25分钟前
5
0
SpringCloud——声明式调用Feign

Feign声明式调用 一、Feign简介 使用Ribbon和RestTemplate消费服务的时候,有一个最麻烦的点在于,每次都要拼接URL,组织参数,所以有了Feign声明式调用,Feign的首要目标是将Java HTTP客户端...

devils_os
30分钟前
5
0
《JAVA核心知识》学习笔记 (22. 数据结构)

22.1.1. 栈(stack) 栈( stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶 (top)。它是后进先出(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈...

Shingfi
36分钟前
5
0
你对AJAX认知有多少(1)?

AJAX(一) AJAX技术对于前段或者后端工程师来说,都是必不可缺的 那我们这几期都来细细品味一下AJAX的相关知识,直接上干货喽~ 1、什么是AJAX,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么...

理性思考
43分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部