当前位置: 首页  >> 香港服务器  >> 查看详情

如何利用iptables实现端口tcp udp gre 三种转发?

如何利用iptables实现端口tcp udp gre 三种转发?

如何利用iptables实现端口转发?最近买了一个VPS,并在上面搭了DOCKER,然后再DOCKER中安装Mysql。但只要将网络端口映射到宿主机上,那么外部网络就可以直接访问该数据。属实吓人。在Linux中通过设置Iptables

如何利用iptables实现端口转发?最近买了一个VPS,并在上面搭了DOCKER,然后再DOCKER中安装Mysql。但只要将网络端口映射到宿主机上,那么外部网络就可以直接访问该数据。属实吓人。在Linux中通过设置Iptables实现端口转发,采用Ubuntu系统,Iptables可以实现多种三层网络协议的转发,本次主要用于记录tcp udp gre 三种转发。

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

一、iptables是啥

iptables是一个linux下的防火墙工具,它能帮助我们基于规则进行网络流量控制。它可以做到,但不限于以下功能:

? 允许/拒绝某种协议的链接建立,比如TCP,UDP

? 允许/拒绝 来自某个ip的访问

? 允许/拒绝某个端口被访问

二、如何利用iptables实现端口转发?

1、首先安装iptables:sudo apt-get install iptables

2、开启系统内核转发功能:vim /etc/sysctl.conf

删除 #net.ipv4.ip_forward=1 前的#号,开启ipv4 forward

sudo sysctl –p 若运行后显示 net.ipv4.ip_forward = 1,表示修改生效了

3、开启系统nat模块:iptables -t nat -A POSTROUTING -j MASQUERADE

到这一步我们就可以开始设置 tcp与udp的转发了,如下示例:

将对127.0.0.1的53端口的TCP与UDP访问转发到对应的119.29.29.29:53端口(127.0.0.1在这里只是一个示例,实际操作中建议修改为网卡的IP)

iptables -t nat -A PREROUTING -d 127.0.0.1 -p tcp --dport 53 -j DNAT --to-destination 119.29.29.29:53

iptables -t nat -A PREROUTING -d 127.0.0.1 -p udp --dport 53 -j DNAT --to-destination 119.29.29.29:53

4、接下来我们进行GRE协议的转发,GRE协议一般用在PPTP的VPN中,GRE是与TCP UDP一样的平级协议,处于网络中的第三层

首先加载 ip_nat_pptp,命令如下:modprobe ip_nat_pptp

卸载这个模块的命令为 modprobe -r ip_nat_pptp

然后就可以进行GRE协议端口的转发了,PPTP使用的是GRE 47端口,执行如下命令:

iptables -t nat -I PREROUTING -p 47 -j DNAT --to 119.28.82.203

如果想要查看当前 iptables中的nat规则可以使用如下命令:iptables -t nat -nL

iptables的规则默认重启就失效了所以需要保存在配置文件中,然后再网卡中加载,方法如下:

sudo iptables-save > /etc/iptables-rules

vim /etc/network/interfaces

找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:

pre-up iptables-restore < /etc/iptables-rules

这样当系统重启后则会自动加载我们设置好的转发规则

同样的 ip_nat_pptp 这个模块我们也需要配置开机自动加载,/etc/modules 这个文件用于设置在系统启动时自动加载的模块,系统在启动时会按照行数依次加载

vim /etc/modules

添加一行,输入 ip_nat_pptp 保存退出即可。

返回顶部
  • 24H在线
  • Tg纸飞机