iptables实现流量中转

为什么: 因为有时直连就是很慢, 中转就是很快, 天朝的网络状况错综复杂
用处: 你有多个vps的时候, 可以互相中继, 突破某些网站的ip地域限制

其实也就是一个非本机的端口转发而已, 仅此而已

但这是最最简单的方案, 比起用什么haproxy, socat都要简单, 几条命令搞定

其实这还有另一个用处, 将其它端口的流量转发到同一个ss端口, 这样就不用开启多个ss实例了

不讲iptables原理

目标: 将发往45.63.110.110:80的请求通过47.90.123.123:3306中转

sudo iptables -t nat -A PREROUTING -d 47.90.123.123 -p tcp --dport 3306 -j DNAT --to-destination 45.63.110.110:80

添加nat表规则一条, 将请求中转到47.90.123.123
这是去程

回程的话, 将源ip改为当前机器的47.90.123.123

sudo iptables -t nat -A POSTROUTING -d 45.63.110.110 -p tcp --dport 80 -j SNAT --to-source 47.90.123.123

或者用MASQUERADE也行

查看规则, 使用-t指定nat表, 否则默认显示filter

sudo iptables -t nat -nvL --line-numbers

但这只是保存在内存中了, 开机就没了, 要开机自启动的话, 以ubuntu为例, 丢一发实测可用的官方文档:
http://wiki.ubuntu.org.cn/Ipt...

其实这样还是有隐患的, 不知看的同学发现没有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iptables是一个用于Linux系统的防火墙工具,它可以对网络流量进行过滤和控制。通过iptables,你可以定义规则来允许或拒绝特定类型的网络流量iptables使用规则链(rule chains)来管理流量过滤,包括输入链(INPUT)、输出链(OUTPUT)和转发链(FORWARD)。每个链中都包含一系列规则,这些规则定义了如何处理进入或离开系统的数据包。 在iptables中,每个规则由三个主要部分组成:匹配条件(match conditions)、动作(actions)和目标(targets)。匹配条件指定要应用规则的数据包的特征,例如源IP地址、目标端口等。动作定义了当匹配条件满足时要执行的操作,例如允许通过或丢弃数据包。目标指定规则所属的链。 以下是iptables的一些常见命令和功能: 1. 添加规则:使用`iptables -A`命令添加一条新的规则,例如`iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT`表示允许来自192.168.1.0/24子网的数据包通过输入链。 2. 删除规则:使用`iptables -D`命令删除指定的规则,例如`iptables -D INPUT 2`表示删除输入链中的第2条规则。 3. 显示规则:使用`iptables -L`命令查看当前所有规则,例如`iptables -L INPUT`表示显示输入链的规则列表。 4. 默认策略:使用`iptables -P`命令设置默认策略,当没有匹配任何规则时将采取的动作。例如`iptables -P INPUT DROP`表示设置输入链的默认动作为丢弃(DROP)。 5. 网络地址转换(NAT):除了过滤功能外,iptables还可以用于进行网络地址转换。通过使用`-t nat`选项,可以创建NAT规则,实现端口转发、SNAT和DNAT等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值