Linux下使用 Firewall 进行端口转发;IPv6端口转发

直接SSH下操作即可。

一、Firewall IPv4端口转发

开启IPV4转发
echo 1 > /proc/sys/net/ipv4/ip_forward

开启firewalld防火墙
systemctl start firewalld.service
systemctl enable firewalld.service

端口转发,下面是开启1234端口,目标IP是1.1.1.1,端口也是1234

firewall-cmd --permanent --add-masquerade

firewall-cmd --permanent --add-port=1234/tcp
firewall-cmd --permanent --add-port=1234/udp
firewall-cmd --permanent --add-forward-port=port=1234:proto=tcp:toport=1234:toaddr=1.1.1.1
firewall-cmd --permanent --add-forward-port=port=1234:proto=udp:toport=1234:toaddr=1.1.1.1

重载设置
firewall-cmd --reload

二、基于IPtables防火墙,开启IPv6转发(一般不需要)

安装
yum install iptables

开启IPv6转发
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

转发设置
ip6tables -t nat -I PREROUTING -p udp --dport 1234 -j DNAT --to [IPV6地址]:22
ip6tables -t nat -I PREROUTING -p tcp --dport 1234 -j DNAT --to [IPV6地址]:22
ip6tables -I INPUT -p udp --dport 1234 -j ACCEPT
ip6tables -I INPUT -p tcp --dport 1234 -j ACCEPT

配置文件/etc/sysconfig/ip6tables

重启
service ip6tables restart

三、Firewall防火墙相关知识

一、防火墙的开启、关闭、禁用命令

(1)设置开机启用防火墙:systemctl enable firewalld.service
(2)设置开机禁用防火墙:systemctl disable firewalld.service
(3)启动防火墙:systemctl start firewalld
(4)关闭防火墙:systemctl stop firewalld
(5)检查防火墙状态:systemctl status firewalld

二、使用firewall-cmd配置端口

(1)查看防火墙状态:firewall-cmd --state
(2)重新加载配置:firewall-cmd --reload
(3)查看开放的端口:firewall-cmd --list-ports
(4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent

命令含义:
–zone #作用域
–add-port=9200/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
注意:添加端口后,必须用命令firewall-cmd –reload重新加载一遍才会生效

(5)关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent

发表评论

电子邮件地址不会被公开。 必填项已用*标注