linux转发流量到本机
内容目录

由于frp使用国外服务器经常被阻断,移动还限制非http流量上传速度,所以给frp套了一层伪装,但是这样会让服务器流量双倍跑

我需要的是将服务器上请求自己ip的流量直接转发给127.0.0.1,这样就不多走一遍自己的流量了。

启用内核本地回环路由

默认情况下,Linux 禁止将外部 IP 路由到本地回环地址(127.0.0.0/8),需启用 route_localnet 参数:

# 临时生效(替换 eth0 为实际网卡名,如 eth0、ens3 等)
sudo sysctl -w net.ipv4.conf.eth0.route_localnet=1

# 永久生效:写入配置文件
echo "net.ipv4.conf.eth0.route_localnet=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

步骤 2:配置 iptables 全局 DNAT 规则

2.1 处理本机发起的请求(OUTPUT 链)

当服务器 S 自身访问 88.88.88.88(替换成你的ip) 的任意端口时,直接转发到 127.0.0.1:

sudo iptables -t nat -A OUTPUT -d 88.88.88.88 -p tcp -j DNAT --to-destination 127.0.0.1
sudo iptables -t nat -A OUTPUT -d 88.88.88.88 -p udp -j DNAT --to-destination 127.0.0.1

2.2 处理外部客户端的请求(PREROUTING 链)​

如果外部客户端通过公网 IP 88.88.88.88 访问服务器 S 的任意端口,也需转发到本地:

sudo iptables -t nat -A PREROUTING -d 88.88.88.88 -p tcp -j DNAT --to-destination 127.0.0.1
sudo iptables -t nat -A PREROUTING -d 88.88.88.88 -p udp -j DNAT --to-destination 127.0.0.1

参数说明:

-d 88.88.88.88: 匹配目标 IP 为 88.88.88.88 的流量。
-p tcp/-p udp: 匹配 TCP/UDP 协议(若需支持所有协议,可省略 -p 参数,但不推荐)。
-j DNAT –to-destination 127.0.0.1: 将目标地址改为本地回环。

步骤 3:允许回环接口的流量

确保本地回环接口的流量被防火墙放行:

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

步骤 4:保存 iptables 规则

避免重启后规则丢失:

# Debian/Ubuntu(安装 iptables-persistent)
sudo apt-get install iptables-persistent
sudo netfilter-persistent save

# CentOS/RHEL
sudo service iptables save
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇