当前位置: 首页>后端>正文

iptables 局域网过滤 iptables屏蔽范围端口

防火墙常用端口

常用端口列表

端口号

释义

-1

所有端口

20

FTP传输端口

21

FTP连接端口

22

sshd服务

23

Telnet服务

25

SMTP邮件服务

80

HTTP服务

110

POP3协议

143

IMAP协议

123

NTP服务

443

SSL服务

873

rsync服务

888

PHPadmin服务

1433

SQL数据库

1521

Oracle数据库

3306

MySQL数据库

3389

Windows远程桌面

8080

HTTP代理

30000-40000

FTP服务【被动端口】

==注:部分运营商判断端口 135、139、444、445、5800、5900 等为高危端口,默认被屏蔽。==

centos6_iptebles

用法:

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

选项:

-t  指定需要维护的防火墙柜子表,不使用-t默认操作对象为filter表

-A  追加防火墙规则

-D  删除防火墙规则

-I  插入防火墙规则

-F  清空防火墙规则

-L  列出防火墙规则

-R  替换防火墙规则

-Z  清空防火墙数据表统计信息

-P  设置链默认规则

匹配参数:

[!]-p   匹配协议,!代表取反

[!]-s   匹配源地址

[!]-d   匹配目标地址

[!]-i   匹配入站网卡接口

[!]-j   动作

[!]-o   匹配出站网卡接口

[!]--sport  匹配源端口

[!]--dport  匹配目标端口

[!]--src-range  匹配源地址范围

[!]--dst-range  匹配目标地址范围

[!]--limit  匹配数据表速率

[!]--mac-source 匹配源MAC地址

[!]--sports 匹配源端口

[!]--dports 匹配目标端口

[!]--state  匹配状态(INVALID、ESTABLISHED、NEW、RELATED)

[!]--string 匹配应用层字串

触发动作:

ACCEPT  允许数据包通过

DROP    丢弃数据包

REJECT  拒绝数据包通过

LOG     将数据包信息记录syslog日志

DNAT    目标地址转换

SNAT    源地址转换

MASQUERADE  地址欺骗

REDIRECT    重定向

示例:

查看filter表的所有规则

iptables -nL

查看nat表的所有规则

iptables -t nat -nL

新增允许22端口TCP协议规则

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

新增允许25端口UDP协议源IP到目标IP的规则

iptables -A INPUT -p udp --dport 25 -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

新增允许所有端口TCP协议源IP到目标IP的规则

iptables -A INPUT -p TCP -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

阻止所有入站规则

iptables -p INPUT DROP

允许所有出站规则

iptables -p OUTPUT ACCEPT

屏蔽IP

iptables -A INPUT -s 192.168.0.1 -j DROP

删除屏蔽的IP

iptables -D INPUT -s 192.168.0.1 -j DROP

连续多端口新增

iptables -A INPUT -p TCP --dport 20:23 -j ACCEPT
iptables -A INPUT -p TCP --dport 30000:40000 -j ACCEPT

不连续多端口新增

iptables -A INPUT -p tcp -m multiport --dport 25,80,123,443,873,888,3306,8080 -j ACCEPT

centos7_firewalld

特性:firewalld将所有网络流量部分类汇集到zones中,通过zones管理

zones名称

描述

trusted

允许所有流量入站

home

允许ssh,mdns,ipp-client,samba-client,dhcpv6-client预定服务入站

internal

与home相同

work

允许ssh,或dhcpv6-client预定服务入站

external

允许ssh入站,转发的IPV4数据包会进行NAT转换,修改源地址为防火墙本机出站网卡地址

dmz

允许ssh入站

block

拒绝所有入站

drop

拒绝所有入站

pulic

允许ssh,dhcpv6-client预定服务入站

用法

firewall-cmd [参数]

参数

--get-default-zone              查看默认zone信息

--get-default-zone=<pulic>      设置默认zone

--get-active-zones              显示正在使用的zone信息

--get-zones                     显示系统预设zone信息

--get-services                  显示系统预设服务

--get-zone-of-interface=eth0    查看指定接口所属区域

--state                         查看防火墙状态

--list-all                      列出防火墙规则

--reload                        更新防火墙规则

--panic-on                      【慎用!!!】拒绝所有包!

--panic-off                     取消拒绝状态

--permanent                     永久生效

--zone=public                   公共区域

端口管理

# 打开443/TCP端口
firewall-cmd --add-port=443/tcp

# 永久打开3690/TCP端口
firewall-cmd --permanent --add-port=3690/tcp

# 永久打开端口好像需要reload一下,临时打开好像不用,如果用了reload临时打开的端口就失效了
# 其它服务也可能是这样的,这个没有测试
firewall-cmd --reload

# 查看防火墙,添加的端口也可以看到
firewall-cmd --list-all

直接模式

# FirewallD包括一种直接模式,使用它可以完成一些工作,例如打开TCP协议的9999端口

firewall-cmd --direct -add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT
firewall-cmd --reload

伪装 IP

检查是否允许伪装IP

firewall-cmd --query-masquerade

允许防火墙伪装IP

firewall-cmd --add-masquerade

禁止防火墙伪装IP

firewall-cmd --remove-masquerade

端口转发

将80端口的流量转发至8080

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

将80端口的流量转发至192.168.0.1

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1

将80端口的流量转发至192.168.0.1

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080

示例

查看默认zone信息

firewall-cmd --get-default-zone

查看防火墙所有列表

firewall-cmd --list-all

查看所有开放的端口

firewall-cmd --list-ports

查看端口开启状态

firewall-cmd --query-port=80/tcp

查看服务开启状态

firewall-cmd --list-services

永久添加常用的端口

firewall-cmd --permanent --add-port=[20-23]/tcp
firewall-cmd --permanent --add-port=25/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=123/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=873/tcp
firewall-cmd --permanent --add-port=888/tcp
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=30000-40000/tcp

永久添加常用的服务

firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=rsyncd
firewall-cmd --permanent --add-service=dhcp
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=ntp
firewall-cmd --permanent --add-service=mysqld
firewall-cmd --permanent --add-service=smtp

永久删除端口规则

firewall-cmd --permanent --remove-port=123/tcp

永久删除服务规则

firewall-cmd --permanent --remove-service=dhcpv6-client

防火墙规则更新

firewall-cmd --reload



https://www.xamrdz.com/backend/3uv1922045.html

相关文章: