伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

利用Firewalld实现NAT功能

来源:本站原创 浏览:106次 时间:2022-08-10

学习了华为防火墙知识后,回想起Linux中也有很多相似的概念,同时刚好碰到一个项目前期没有考虑购买路由器/防火墙,所以就想到了利用Linux自带的Firewalld来实现防火墙的功能和NAT。

1.启用IP转发

更改配置

sudo vim /etc/sysctl.confnet.ipv4.ip_forward = 1

使能配置

sysctl -p #命令生效
2.修改网卡的zone
sudo firewall-cmd --permanent --zone=external --change-interface=ens0sudo firewall-cmd --permanent --zone=internal --change-interface=ens1
3.设置SNAT(IP地址转换)

设置特定区域的SNAT——IP伪装。

sudo firewall-cmd --zone=external --add-masquerade --permanent

查看特定区域的SNAT是否允许

sudo firewall-cmd --zone=external --query-masquerade --permanent

删除特定区域的SNAT功能

sudo firewall-cmd --zone=external --delete-masquerade --permanent
4.设置NAT规则SNAT

内部访问外部,将source ip为src_net网段来的数据包伪装成external(即ens0)的地址

sudo firewall-cmd --zone=external --permanent \--add-rich-rule=rule family=ipv4 source address=<src_net/mask> masquerade’

src_net举例:192.168.100.0/24

或者设置NAT规则也可实现(设置POSTROUTING)

sudo firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s <internal_ip|internal_net/mask> -j SNAT --to-source <external_ip>或sudo firewall-cmd --permanent --direct --passthrough ipv4 -t nat POSTROUTING -o ens0 -j MASQUERADE -s <internal_ip|internal_net/mask>
DNAT

外部访问内部,将访问本机'external_port'端口流量转发到'internal_ip'

sudo firewall-cmd --zone=external --permanent \--add-forward-port=port=<external_port>:proto=tcp:toaddr=<internal_ip> 

或者设置NAT规则也可实现(设置PRERROUTING)

sudo firewall-cmd  --permanent --direct --passthrough ipv4 -t nat -A PREROUTING -d <external_ip> -j DNAT --to-destination <internal_ip>

外部访问内部,将访问本机'external_port'端口流量转发到'internal_ip'的'internal_port'

sudo firewall-cmd --zone=external --permanent \--add-forward-port=port=<external_port>:proto=tcp:toport=<internal_port>:toaddr=<internal_ip> 
5.重载Firewall使配置生效
sudo firewall-cmd --reload
6.其它说明区域的target

target是就是对该区域内流经的数据包作最终的处理动作,它可以设置为以下选项之一:

  • default:不做任何事情
  • ACCEPT:接受数据包
  • REJECT:拒绝数据包,返回拒绝的信息
  • DROP:丢弃数据包,并且不做任何答应

要设置区域的target,使用--zone选项指定区域,并使用--set-target选项指定目标。例如:

firewall-cmd --zone=public --set-target=DROP 
信任源IP

要允许来自特定IP地址(或范围)的所有传入流量,使用--zone选项指定区域,并使用--add-source选项指定源IP。例如:

firewall-cmd --zone=public --add-source=192.168.100.10

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net