黑帽联盟

标题: CentOS 7开启firewalld流量转发功能,简单配置服务器TCP/UDP中转加速教程 [打印本页]

作者: admin    时间: 2023-9-21 17:29
标题: CentOS 7开启firewalld流量转发功能,简单配置服务器TCP/UDP中转加速教程

firewalld是Linux系统下的防火墙,基本上会默认安装在centos7版本系统,而centos7以下版本则使用的是iptables(iptables转发设置),本文主要介绍下firewalld的简单使用,及利用firewalld的流量转发功能开启TCP/UDP中转加速。

21.png


安装firewall防火墙

首先装一下firewalld,默认centos7系统会自带,不过有的机器并没有

yum install firewalld -y



常用命令


systemctl start firewalld ##开启防火墙
systemctl stop firewalld ##关闭防火墙
firewall-cmd --reload ##重启防火墙
systemctl status firewalld ##查看防火墙状态
systemctl enable firewalld ##设置开启启动
systemctl disable firewalld ##禁用开机启动
firewall-cmd --list-ports ##查看开放的端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent ##开放指定端口(此处为开放8080,可替换为指定端口号),开放后需重启防火墙生效
firewall-cmd --zone=public --remove-port=8080/tcp --permanent ##关闭指定端口(此处为关闭8080,可替换为指定端口号)


准备工作

首先需要设置开启路由转发,在文件/etc/sysctl.conf的最后加上代码net.ipv4.ip_forward = 1,执行下列命令


echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf

然后命令行执行下列命令使其生效


sysctl -p

最后开启防火墙的流量伪装功能,执行下列命令


firewall-cmd --zone=public --permanent --add-masquerade

至此准备工作完成。



设置TCP/UDP中转

首先需要先开放端口,比如开放一个8080端口(端口替换你需要开放的端口),执行下列命令,如已开放服务器全部端口可跳过这步


#开启TCP流量端口
firewall-cmd --add-port=8080/tcp --permanent

#开启UDP流量端口
firewall-cmd --add-port=8080/udp --permanent

这样TCP和UDP流量就能通过8080端口进来了。



转发本地端口

比如我需要要把8080端口的流量转发到自己的8090端口(端口替换为自己需要的相应端口),执行下列命令即可


#开启TCP流量转发
firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=8090 --permanent

#开启UDP流量转发
firewall-cmd --add-forward-port=port=8080:proto=udp:toport=8090 --permanent


转发远程服务器端口

这个就是流量中转,比如要把IP地址1.1.1.1这台服务器的8080端口收到的流量,转发到服务器IP地址为2.2.2.2的666端口,则在IP地址1.1.1.1这台服务器上执行下列命令


#开启TCP流量转发
firewall-cmd --add-forward-port=port=8080:proto=tcp:toaddr=2.2.2.2:toport=666 --permanent

#开启UDP流量转发
firewall-cmd --add-forward-port=port=8080:proto=udp:toaddr=2.2.2.2:toport=666 --permanent


重载配置文件

设置完规则后需要重新加载配置文件生效,执行下列命令


firewall-cmd --reload

手动修改配置文件

firewalld默认的配置文件是/etc/firewalld/zones/public.xml,直接使用文本编辑修改,修改完以后也要重新加载配置文件才能生效。







欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5