centos7 防火墙设置 多网卡 内网访问
admin
2024-02-29 06:48:48
0次

0 应用场景

服务器有多个网卡:

  • 公网的ip为210.xx.xx.xx(interface为en1)。
  • 内网的为192.xx.xx.xx(interface为en2)。
  • 允许公网ip的443端口,开放所有内网的访问。

注意:下面加粗的命令为实际需要操作的操作,如:开启服务。其他的命令是补充的细节,不需要操作,如:关闭服务。

准备知识:firewall中支持如下不同的区域区隔与过滤规则,之后不同的配置可以参考下面的内容:

区域

drop: 丢弃所有进入的包,而不给出任何响应
block: 拒绝所有外部发起的连接,允许内部发起的连接
public: 允许指定的进入连接
external: 同上,对伪装的进入连接,一般用于路由转发
dmz: 允许受限制的进入连接
work: 允许受信任的计算机被限制的进入连接,类似 workgroup
home: 同上,类似 homegroup
internal: 同上,范围针对所有互联网用户
trusted: 信任所有连接

过滤规则

source: 根据源地址过滤
interface: 根据网卡过滤
service: 根据服务名过滤
port: 根据端口过滤
icmp-block: icmp 报文过滤,按照 icmp 类型配置
masquerade: ip 地址伪装
forward-port: 端口转发
rule: 自定义规则

1 开启服务

开启服务:

systemctl start firewalld.service

关闭服务:

systemctl stop firewalld.service

开机自启:

systemctl enable firewalld.service

取消开机自启:

systemctl disable firewalld.service

2 将内网的interface添加到信任区域

将内网的网卡添加为信任区域:

firewall-cmd --zone=trusted --add-interface=eno2 --permanent

移除信任区:

firewall-cmd --zone=trusted ---remove-interface=eno2 --permanent

列出所有区:(查看en2是否被添加到trusted )

firewall-cmd --list-all-zones

如果没有显示,更新防火墙:

firewall-cmd --reload 

3 开放公网的interface的443端口

将网卡添加为public区域:

firewall-cmd --zone=public --add-interface=eno1 --permanent

在public区域,添加443端口访问权限:

firewall-cmd --zone=public --add-port=443/tcp --permanent

移除端口:

firewall-cmd --zone=public --remove-port=443/tcp --permanent

列出所有端口:(查看是否有443)

firewall-cmd --list-ports

更新防火墙:

firewall-cmd --reload 

4 更多命令-help

Usage: firewall-cmd [OPTIONS...]General Options-h, --help           Prints a short help text and exists-V, --version        Print the version string of firewalld-q, --quiet          Do not print status messagesStatus Options--state              Return and print firewalld state--reload             Reload firewall and keep state information--complete-reload    Reload firewall and lose state information--runtime-to-permanentCreate permanent from runtime configuration--check-config       Check permanent configuration for errorsLog Denied Options--get-log-denied     Print the log denied value--set-log-denied=Set log denied valueAutomatic Helpers Options--get-automatic-helpersPrint the automatic helpers value--set-automatic-helpers=Set automatic helpers valuePermanent Options--permanent          Set an option permanentlyUsable for options marked with [P]Zone Options--get-default-zone   Print default zone for connections and interfaces--set-default-zone=Set default zone--get-active-zones   Print currently active zones--get-zones          Print predefined zones [P]--get-services       Print predefined services [P]--get-icmptypes      Print predefined icmptypes [P]--get-zone-of-interface=Print name of the zone the interface is bound to [P]--get-zone-of-source=[/]||ipset:Print name of the zone the source is bound to [P]--list-all-zones     List everything added for or enabled in all zones [P]--new-zone=    Add a new zone [P only]--new-zone-from-file= [--name=]Add a new zone from file with optional name [P only]--delete-zone= Delete an existing zone [P only]--load-zone-defaults=Load zone default settings [P only] [Z]--zone=        Use this zone to set or query options, else default zoneUsable for options marked with [Z]--get-target         Get the zone target [P only] [Z]--set-target=Set the zone target [P only] [Z]--info-zone=   Print information about a zone--path-zone=   Print file path of a zone [P only]IPSet Options--get-ipset-types    Print the supported ipset types--new-ipset= --type= [--option=[=]]..Add a new ipset [P only]--new-ipset-from-file= [--name=]Add a new ipset from file with optional name [P only]--delete-ipset=Delete an existing ipset [P only]--load-ipset-defaults=Load ipset default settings [P only]--info-ipset= Print information about an ipset--path-ipset= Print file path of an ipset [P only]--get-ipsets         Print predefined ipsets--ipset= --set-description=Set new description to ipset [P only]--ipset= --get-descriptionPrint description for ipset [P only]--ipset= --set-short=Set new short description to ipset [P only]--ipset= --get-shortPrint short description for ipset [P only]--ipset= --add-entry=Add a new entry to an ipset [P]--ipset= --remove-entry=Remove an entry from an ipset [P]--ipset= --query-entry=Return whether ipset has an entry [P]--ipset= --get-entriesList entries of an ipset [P]--ipset= --add-entries-from-file=Add a new entries to an ipset [P]--ipset= --remove-entries-from-file=Remove entries from an ipset [P]IcmpType Options--new-icmptype=Add a new icmptype [P only]--new-icmptype-from-file= [--name=]Add a new icmptype from file with optional name [P only]--delete-icmptype=Delete an existing icmptype [P only]--load-icmptype-defaults=Load icmptype default settings [P only]--info-icmptype=Print information about an icmptype--path-icmptype=Print file path of an icmptype [P only]--icmptype= --set-description=Set new description to icmptype [P only]--icmptype= --get-descriptionPrint description for icmptype [P only]--icmptype= --set-short=Set new short description to icmptype [P only]--icmptype= --get-shortPrint short description for icmptype [P only]--icmptype= --add-destination=Enable destination for ipv in icmptype [P only]--icmptype= --remove-destination=Disable destination for ipv in icmptype [P only]--icmptype= --query-destination=Return whether destination ipv is enabled in icmptype [P only]--icmptype= --get-destinationsList destinations in icmptype [P only]Service Options--new-service=Add a new service [P only]--new-service-from-file= [--name=]Add a new service from file with optional name [P only]--delete-service=Delete an existing service [P only]--load-service-defaults=Load icmptype default settings [P only]--info-service=Print information about a service--path-service=Print file path of a service [P only]--service= --set-description=Set new description to service [P only]--service= --get-descriptionPrint description for service [P only]--service= --set-short=Set new short description to service [P only]--service= --get-shortPrint short description for service [P only]--service= --add-port=[-]/Add a new port to service [P only]--service= --remove-port=[-]/Remove a port from service [P only]--service= --query-port=[-]/Return whether the port has been added for service [P only]--service= --get-portsList ports of service [P only]--service= --add-protocol=Add a new protocol to service [P only]--service= --remove-protocol=Remove a protocol from service [P only]--service= --query-protocol=Return whether the protocol has been added for service [P only]--service= --get-protocolsList protocols of service [P only]--service= --add-source-port=[-]/Add a new source port to service [P only]--service= --remove-source-port=[-]/Remove a source port from service [P only]--service= --query-source-port=[-]/Return whether the source port has been added for service [P only]--service= --get-source-portsList source ports of service [P only]--service= --add-module=Add a new module to service [P only]--service= --remove-module=Remove a module from service [P only]--service= --query-module=Return whether the module has been added for service [P only]--service= --get-modulesList modules of service [P only]--service= --set-destination=:
[/]Set destination for ipv to address in service [P only]--service= --remove-destination=Disable destination for ipv i service [P only]--service= --query-destination=:
[/]Return whether destination ipv is set for service [P only]--service= --get-destinationsList destinations in service [P only]Options to Adapt and Query Zones--list-all List everything added for or enabled in a zone [P] [Z]--list-services List services added for a zone [P] [Z]--timeout= Enable an option for timeval time, where timeval isa number followed by one of letters 's' or 'm' or 'h'Usable for options marked with [T]--set-description=Set new description to zone [P only] [Z]--get-description Print description for zone [P only] [Z]--set-short=Set new short description to zone [P only] [Z]--get-short Print short description for zone [P only] [Z]--add-service=Add a service for a zone [P] [Z] [T]--remove-service=Remove a service from a zone [P] [Z]--query-service=Return whether service has been added for a zone [P] [Z]--list-ports List ports added for a zone [P] [Z]--add-port=[-]/Add the port for a zone [P] [Z] [T]--remove-port=[-]/Remove the port from a zone [P] [Z]--query-port=[-]/Return whether the port has been added for zone [P] [Z]--list-protocols List protocols added for a zone [P] [Z]--add-protocol=Add the protocol for a zone [P] [Z] [T]--remove-protocol=Remove the protocol from a zone [P] [Z]--query-protocol=Return whether the protocol has been added for zone [P] [Z]--list-source-ports List source ports added for a zone [P] [Z]--add-source-port=[-]/Add the source port for a zone [P] [Z] [T]--remove-source-port=[-]/Remove the source port from a zone [P] [Z]--query-source-port=[-]/Return whether the source port has been added for zone [P] [Z]--list-icmp-blocks List Internet ICMP type blocks added for a zone [P] [Z]--add-icmp-block=Add an ICMP block for a zone [P] [Z] [T]--remove-icmp-block=Remove the ICMP block from a zone [P] [Z]--query-icmp-block=Return whether an ICMP block has been added for a zone[P] [Z]--add-icmp-block-inversionEnable inversion of icmp blocks for a zone [P] [Z]--remove-icmp-block-inversionDisable inversion of icmp blocks for a zone [P] [Z]--query-icmp-block-inversionReturn whether inversion of icmp blocks has been enabledfor a zone [P] [Z]--list-forward-ports List IPv4 forward ports added for a zone [P] [Z]--add-forward-port=port=[-]:proto=[:toport=[-]][:toaddr=
[/]]Add the IPv4 forward port for a zone [P] [Z] [T]--remove-forward-port=port=[-]:proto=[:toport=[-]][:toaddr=
[/]]Remove the IPv4 forward port from a zone [P] [Z]--query-forward-port=port=[-]:proto=[:toport=[-]][:toaddr=
[/]]Return whether the IPv4 forward port has been added fora zone [P] [Z]--add-masquerade Enable IPv4 masquerade for a zone [P] [Z] [T]--remove-masquerade Disable IPv4 masquerade for a zone [P] [Z]--query-masquerade Return whether IPv4 masquerading has been enabled for azone [P] [Z]--list-rich-rules List rich language rules added for a zone [P] [Z]--add-rich-rule=Add rich language rule 'rule' for a zone [P] [Z] [T]--remove-rich-rule=Remove rich language rule 'rule' from a zone [P] [Z]--query-rich-rule=Return whether a rich language rule 'rule' has beenadded for a zone [P] [Z]Options to Handle Bindings of Interfaces--list-interfaces List interfaces that are bound to a zone [P] [Z]--add-interface=Bind the to a zone [P] [Z]--change-interface=Change zone the is bound to [Z]--query-interface=Query whether is bound to a zone [P] [Z]--remove-interface=Remove binding of from a zone [P] [Z]Options to Handle Bindings of Sources--list-sources List sources that are bound to a zone [P] [Z]--add-source=[/]||ipset:Bind the source to a zone [P] [Z]--change-source=[/]||ipset:Change zone the source is bound to [Z]--query-source=[/]||ipset:Query whether the source is bound to a zone [P] [Z]--remove-source=[/]||ipset:Remove binding of the source from a zone [P] [Z]Helper Options--new-helper= --module= [--family=]Add a new helper [P only]--new-helper-from-file= [--name=]Add a new helper from file with optional name [P only]--delete-helper=Delete an existing helper [P only]--load-helper-defaults=Load helper default settings [P only]--info-helper= Print information about an helper--path-helper= Print file path of an helper [P only]--get-helpers Print predefined helpers--helper= --set-description=Set new description to helper [P only]--helper= --get-descriptionPrint description for helper [P only]--helper= --set-short=Set new short description to helper [P only]--helper= --get-shortPrint short description for helper [P only]--helper= --add-port=[-]/Add a new port to helper [P only]--helper= --remove-port=[-]/Remove a port from helper [P only]--helper= --query-port=[-]/Return whether the port has been added for helper [P only]--helper= --get-portsList ports of helper [P only]--helper= --set-module=Set module to helper [P only]--helper= --get-moduleGet module from helper [P only]--helper= --set-family={ipv4|ipv6|}Set family for helper [P only]--helper= --get-familyGet module from helper [P only]Direct Options--direct First option for all direct options--get-all-chainsGet all chains [P]--get-chains {ipv4|ipv6|eb} Get all chains added to the table [P]--add-chain {ipv4|ipv6|eb}
Add a new chain to the table [P]--remove-chain {ipv4|ipv6|eb}
Remove the chain from the table [P]--query-chain {ipv4|ipv6|eb}
Return whether the chain has been added to the table [P]--get-all-rulesGet all rules [P]--get-rules {ipv4|ipv6|eb}
Get all rules added to chain in table [P]--add-rule {ipv4|ipv6|eb}
...Add rule to chain in table [P]--remove-rule {ipv4|ipv6|eb}
...Remove rule with priority from chain in table [P]--remove-rules {ipv4|ipv6|eb}
Remove rules from chain in table [P]--query-rule {ipv4|ipv6|eb}
...Return whether a rule with priority has been added tochain in table [P]--passthrough {ipv4|ipv6|eb} ...Pass a command through (untracked by firewalld)--get-all-passthroughsGet all tracked passthrough rules [P]--get-passthroughs {ipv4|ipv6|eb} ...Get tracked passthrough rules [P]--add-passthrough {ipv4|ipv6|eb} ...Add a new tracked passthrough rule [P]--remove-passthrough {ipv4|ipv6|eb} ...Remove a tracked passthrough rule [P]--query-passthrough {ipv4|ipv6|eb} ...Return whether the tracked passthrough rule has beenadded [P]Lockdown Options--lockdown-on Enable lockdown.--lockdown-off Disable lockdown.--query-lockdown Query whether lockdown is enabledLockdown Whitelist Options--list-lockdown-whitelist-commandsList all command lines that are on the whitelist [P]--add-lockdown-whitelist-command=Add the command to the whitelist [P]--remove-lockdown-whitelist-command=Remove the command from the whitelist [P]--query-lockdown-whitelist-command=Query whether the command is on the whitelist [P]--list-lockdown-whitelist-contextsList all contexts that are on the whitelist [P]--add-lockdown-whitelist-context=Add the context context to the whitelist [P]--remove-lockdown-whitelist-context=Remove the context from the whitelist [P]--query-lockdown-whitelist-context=Query whether the context is on the whitelist [P]--list-lockdown-whitelist-uidsList all user ids that are on the whitelist [P]--add-lockdown-whitelist-uid=Add the user id uid to the whitelist [P]--remove-lockdown-whitelist-uid=Remove the user id uid from the whitelist [P]--query-lockdown-whitelist-uid=Query whether the user id uid is on the whitelist [P]--list-lockdown-whitelist-usersList all user names that are on the whitelist [P]--add-lockdown-whitelist-user=Add the user name user to the whitelist [P]--remove-lockdown-whitelist-user=Remove the user name user from the whitelist [P]--query-lockdown-whitelist-user=Query whether the user name user is on the whitelist [P]Panic Options--panic-on Enable panic mode--panic-off Disable panic mode--query-panic Query whether panic mode is enabled

参考:https://www.cnblogs.com/happenlee/p/8928843.html

相关内容

热门资讯

AI做攻略、“双向奔赴”……国... 本文转自:人民网人民网记者 许维娜今年国庆假期,AI(人工智能)成了不少年轻人的“旅行搭子”。行前做...
合肥的这个“梗”, 翻篇了 社交平台的评论区,曾长期流传一句专属于合肥的黑色幽默。有人问合肥哪里好玩,本地网友半开玩笑地回复:合...
7万+旅游中高层都在的群,今天... 做旅游这行,资源卡位、渠道互通、项目落地——往往就差一个“对的机会”。我们的行业社群已聚集70,00...
一场帐篷音乐节,如何让井研从“... 帐篷音乐节现场封面新闻记者 周洪攀10月的研溪湿地,晚风里裹着柑橘的清甜与民谣的回响。夜幕降临,10...
白鹤翩翩落星愿,上海迪士尼度假... 10月9日,世界候鸟日前夕,上海迪士尼度假区星愿公园的湖风里多了一分白鹤的灵动。三座白鹤雕塑正式揭幕...
成都锦江边赏初秋枫叶飘飘 目前,成都锦江边国华街枫叶树红了。近年来,国华街附近的几条街都栽种了红枫树,是城区较集中看枫叶的点位...
GBTA:商务旅行正在复苏,但... 亚太正在成为全球商务旅行增长的重要引擎。在经历疫情后的快速反弹之后,全球商务旅行正在进入一个新的增长...
从景区焕新到节赛引流 邹城双节... 齐鲁网·闪电新闻10月9日讯 中秋、国庆“双节”假期,邹城市文化和旅游局提前谋划、周密部署,立足自身...
江山如此多娇 且看石楼今朝 金秋十月,黄河岸畔秋意盎然,丰收盛会喜迎国庆。本次石楼国庆文旅活动以“江山如此多娇,且看石楼今朝”为...
海南国庆假期接待游客475.4... 2026年国庆假期,海南接待游客475.40万人次,较2025年增长13.1%,较2024年增长15...