linux - 如何将外部传入流量从一个端口重定向到另一个端口?(Linux/iptables/ufw)
问题描述
我正在为 VPN 目的设置 VPS。这个想法是在公共网络上解除尽可能多的限制。
一种想法是将端口 53 上的传入 OpenVPN 连接重定向到默认的 OpenVPN 端口。
这是我的想象:
- 设置防火墙规则以将端口 udp/53 上的传入流量重定向到默认 OpenVPN 端口
- 服务器上已经有一个内部 DNS 服务器在运行,但只在本地接口上运行,因此只需要为公共 ips 定义规则
我目前正在尝试找出 iptables 或 UFW 规则来实现这一目标。
老实说,我不确定这是否足够。这个想法是模仿 DNS 查询。其他功能/想法将传递给诸如iodine之类的东西。
如果有人曾经实现过类似的东西,我很想听到一些反馈!
干杯。
解决方案
要将网络流从一个端口重定向到另一个端口,您可以使用以下规则:
- 如果您有一个用于公共网络的 NIC 和一个用于私有网络的 NIC,那么您可以基于每个接口进行过滤:
iptables -t nat -A PREROUTING -i <your public network interface> -p udp --dport 53 -j REDIRECT --to-ports 1194
- 如果私有网络和公共网络都使用相同的接口,那么您必须基于每个地址进行过滤:
iptables -t nat -A PREROUTING -s \! <your private network> -p udp --dport 53 -j REDIRECT --to-ports 1194
请注意,您可能还必须在FORWARD
表中添加一些规则来授权流。
推荐阅读
- r - 通过使用 for 循环对数据框的列求和来创建新变量
- javascript - 使用 apollo-server 如何在父项中获取子字段信息参数
- c - 将内存复制到灵活数组成员
- c# - 使用 LINQ 或 Lambda 表达式按降序排列子元素
- discord - 公会最高角色指挥部?
- matlab - Problems with step size Simulink
- java - 渲染和眼空间错位导致不精确的光线投射
- javascript - 如何发现现有“搜索”按钮后面的 URL / 字符串?
- javascript - 延迟将显示更改为无
- batch-file - 如何从批处理中仅签入 TFS 中的特定分支?