首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CentOS 7伪装

CentOS 7伪装
EN

Server Fault用户
提问于 2014-08-22 12:21:43
回答 3查看 41.8K关注 0票数 11

我在做和firewalld中的iptables规则相当的事情

代码语言:javascript
复制
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

我该怎么做?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2014-08-22 12:45:59

若要在外部区域上设置伪装,请键入:

代码语言:javascript
复制
# firewall-cmd --zone=external --add-masquerade

外部:用于外部网络的伪装启用,特别是对路由器。您不信任网络上的其他计算机不会损害您的计算机。只接受选定的传入连接。

内部:用于内部网络。您主要相信网络上的其他计算机不会对您的计算机造成损害。只接受选定的传入连接。

供参考:

http://www.certdepot.net/rhel7-get-started-firewalld/

票数 9
EN

Server Fault用户

发布于 2015-06-24 12:53:52

或者,您可以将规则添加到您的: /etc/firewalld/direct.xml文件中,例如。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<direct>
...
  <rule priority="0" table="filter" ipv="ipv4" chain="POSTROUTING">-table nat -jump MASQUERADE --source 10.8.0.0/24 --out-interface eth0</rule>  
</direct>

然后:

代码语言:javascript
复制
firewall-cmd --reload
票数 5
EN

Server Fault用户

发布于 2016-11-16 15:36:34

你不能直接使用这样的规则。您只需将您的接口(eth0)放入外部区域,该区域已经在RHEL7 7/CentOS7 7中预先配置,并且它打开了伪装,或者您可以在您的接口所在的区域上启用伪装。默认情况下它是公开的。所以正确的答案是:

代码语言:javascript
复制
# firewall-cmd --zone=public --add-masquerade

代码语言:javascript
复制
# firewall-cmd --change-zone=eth0 --zone=external

这才是你真正需要做的。若要仅对特定子网或范围启用NAT,需要Rich或Direct。这有点复杂。您也可以简单地拒绝其他包,这似乎也是一个选项。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/623297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档