mac 端口映射

好坑

osx10.10mac移除了ipfw改用pf
pf以前没用过

查文档
mac的 pf语法,没有找到。bsd的倒是很全,心喜拿来一试。
http://www.openbsd.org/faq/pf/rdr.html

试了bsd的几个example都不行。
报语法错误
pfctl: Syntax error in config file: pf rules not loaded
mac的pf和bsd的pf难道还有区别,版本不对?mac是阉割版的?

rdr pass on utun0 proto tcp from any to any port 29017 -> 127.0.0.1 port 27017
生效

rdr pass on lo0 inet proto tcp from any to any port 8987 -> 172.16.231.185 port 80
不生效

也就是说,这种方式只能映射到127.0.0.1上的端口

https://github.com/basecamp/powpow是好东西

可以实现不同服务器的端口转发

但有局限性
只能转发http协议
其他协议都不行

最后用的是

socat TCP4-LISTEN:7888,fork TCP4:172.16.231.185:80

但这样性能却有问题。

待续

mac 端口转发方案的更多相关文章

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

    上篇文章介绍到,可以在本地hosts文件中添加一条记录将微信公众号中的可信域名解析道本地127.0.0.1,但tomcat在Mac下非root权限80端口是启动不了的,所以我们可以利用pfctl端口转 ...

  2. Mac下使用PF进行端口转发和防火墙配置(类似Linux的iptables)

    在Mac没有iptables这些,替代的软件为PF,命令为pfctl.在早些版本用ipfw(<=10.10),后面改为PF.还有一些可以使用OpenBsd,不过这个不太好用. 网上关于pfctl ...

  3. mac 使用 pf 做端口转发

    Mac os中我发现直接输入localhost是拒绝访问的,原因在于OSX 对于1024内端口需要 root 权限,因此需要做一个80端口的转发. 曾经的 ipfw 已经被 pf 所替换. 首先我们要 ...

  4. linux下安装haproxy作为端口转发服务器,以及安装keepalived作为haproxy高可用方案

    一.安装haproxy作为端口转发服务器(主服务器:172.28.5.4,备服务器:172.28.5.8,浮点IP为:172.28.5.6) 1.安装依赖包 yum -y install wget g ...

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

    一.依次运行以下命令: cd /etc ls | grep pf.conf sudo cp pf.conf pf.conf.normal.bak sudo cp pf.conf pf.conf.tra ...

  6. 【nginx配置】nginx做非80端口转发

    一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...

  7. SSH的端口转发:本地转发Local Forward和远程转发Remote Forward

    关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...

  8. 通过rinetd实现端口转发来访问内网的服务

    通过rinetd实现端口转发来访问内网的服务 一.   问题描述 通过外网来访问内网的服务 二.   环境要求 需要有一台能够外网访问的机器做端口映射,通过数据包转发来实现外部访问阿里云的内网服务 三 ...

  9. vIDC v2.0 强大的端口转发神器使用总结-开放内网tfs代码服务

    vIDC2.0 端口映射工具,最近在公司闲来无事,想自己整个tfs来管理自己的研究代码. 本来是想用微软Visual Studio提供的免费tfs,但是无奈速度太慢.他们的服务器在美国,中国也没有代理 ...

随机推荐

  1. ES6与ES5差别

    1.ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { var a = 1; let b = 1; } a; b;/ let不像var ...

  2. Openstack Basic

    html,body { } .CodeMirror { height: auto } .CodeMirror-scroll { } .CodeMirror-lines { padding: 4px 0 ...

  3. [python学习] 介绍python的property,以及为什么要用setter,一个小栗子

    python中的property是比较好用的. 先来一段代码 #-*- coding:utf-8 -*- class C(object): status_dict = { 1: 'accept', 2 ...

  4. 解决Debian系统的Crontab执行时间时差问题

    首先用 * * * * * date >> /root/log.log 做个测试,发现显示的是UTC的时间,但是直接执行date,得到的是CST的时间.可见在Debian里crontab的 ...

  5. isMemberOfClass和isKindOfClass的区别

    1.isMemberOfClass:作用:用于判断一个对象是否属于当前这个类   Person *rose = [[Person alloc] init];          if ([rose is ...

  6. DNS服务器原理

    19.1 什么是DNS   主机名自动解析为 IP 就很重要!那就是 DNS.   19.1.1 用网络主机名取得IP的历史渊源   单一档案处理上网的年代: /etc/hosts   利用某些特定的 ...

  7. Linux和windows之间通过scp复制文件

    Windows是不支持ssh协议的 需要安装WinSSHD 安装以及设置过程如下: BvSshServer(原名winsshd)官方下载页在这里:https://www.bitvise.com/dow ...

  8. MSSQL订阅库索引对齐

    需求如下图: 在原来的架构中是每台web服务器都固定访问某一台数据库服务器,所以就造成了每台数据库订阅服务器上的索引不一致.现在的需求就是要把所有的订阅库上的索引调整为一致,为了就是实现高可用+负载均 ...

  9. 如何决定DCOM是否可用

    如何决定DCOM是否可用  

  10. 使用github参与开源项目

    github上有很多非常优秀的开源项目,作为开源项目的受益者,你否想过为开源项目贡献自己的代码?