`
wx1569466809
  • 浏览: 72145 次
文章分类
社区版块
存档分类
最新评论

Linux防火墙-SELinux、netfilter、iptables、ifconfig

 
阅读更多

10.11 Linux网络相关

ifconfig命令

  • 查看网卡IP

如果系统没有该命令可以使用yum安装:

[root@adai003 ~]# yum install -y net-tools

查看网卡IP还可以使用命令:ip add,这个显示有点乱!

  • ifconfig -a

显示所有网卡信息(包括down掉的或者没有IP地址的网卡)

启动/关闭网卡

  • ifup/ifdown [网卡名]

应用环境:更改单个指定网卡配置后需要重启才能生效,为了避免关闭或重启所有网卡可以对单个网卡执行该命令。
注: 如果网卡正在使用中,不要单独使用ifdown命令!!!解决办法: “# ifdown ens33 && ifup ens33”,使两个命令一起执行!

为虚拟机添加网卡

关闭虚拟机,按如下顺序操作:

mark

点击下一步:

mark
在此可以指定网络适配器(网卡)类型,也可以在添加完成后进行选择:

mark

点击“确定”即添加完成!

注: 如果以上操作是在开机状态下执行,添加完成后需要重启网络服务!!!

为新增网卡添加配置文件

查看新增网卡的配置信息:

mark
在此可以查看其所在网段。

配置新增网卡信息:
开启虚拟机后进行如下操作:

查看网络信息: mark

网卡配置文件位置(复制原有网卡,进行重命名):
/etc/sysconfig/network-scripts/  
[root@localhost ~]# cd /etc/sysconfig/network-scripts/

创建新增网卡配置文件:
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37

[root@localhost network-scripts]# vim ifcfg-ens37
#更改该配置文件下的网卡名为ens37
#删除UUID

配置完成后重启网络服务:
[root@localhost network-scripts]# systemctl restart network

至此,添加完成,之后变可以通过编辑该文件来配置该网卡!!!

注: 因本次添加的网卡的网络连接类型是host-only模式,所以其IP和ens33不在同一网段。

增加虚拟网卡

  • 步骤:
1、切换至网卡配置文件
[root@adai003 ~]# cd /etc/sysconfig/network-scripts/

2、复制系统网卡
[root@adai003 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:0 

3、编辑复制的配置文件
[root@adai003 network-scripts]# vi ifcfg-ens33\:0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.8.138
NETMASK=255.255.255.0
GATEWAY=192.168.8.2
DNS1=119.29.29.29
说明:更改NAME、DEVICE、IPADDR,系统已经设定网关可DNS,所以在此可以删除GATEWAY和DNS,也可以保留,但是,如果要保留该选项则必须保持其与系统网卡配置一致!

4、重启系统网卡
[root@adai003 network-scripts]# ifdown ens33 && ifup ens33
成功断开设备 'ens33'。
成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/3)

5、查看网卡信息
[root@adai003 network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.125  netmask 255.255.255.0  broadcast 192.168.8.255
        ……

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.158  netmask 255.255.255.0  broadcast 192.168.8.255
        ether 00:0c:29:61:7d:7a  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        ……
6、检测虚拟网啊IP是否通畅

在Windows系统cmd下ping该IP即可!

查看网卡是否连接

  • 方法1:mii-tool [网卡名]
[root@adai003 ~]# mii-tool ens33
ens33: negotiated 1000baseT-FD flow-control, link ok

查看:link ok说明网卡连接OK!

  • 方法2:ethtool [网卡名]
[root@adai003 ~]# ethtool ens33
Settings for ens33:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
……
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

查看:Link detected: yes说明网卡连接OK!

主机名

  • 更改主机名&主机名配置文件
更改:
[root@adai003 ~]# hostnamectl set-hostname adai0003

查看主机名:
[root@adai003 ~]# hostname
adai0003
注:更改后的主机名要在系统重启之后才会显示!  

主机名的配置文件:
[root@adai003 ~]# cat /etc/hostname 
adai003

DNS配置

  • DNS配置文件:/etc/resolv.conf
[root@adai003 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 119.29.29.29

注: 更改网卡配置即可更改DNS配置文件,更改后需要重启网卡(ifdown/ifup)后生效,也可编辑‘/etc/resolv.conf’临时更改DNS配置,该办法在重启网卡后会被网卡配置文件中的DNS覆盖!

  • 本地域名配置文件文件:/etc/hosts
[root@adai003 ~]#  cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

说明: 使用vi命令可在该配置文件下可以自定义IP所对应的域名(一个IP对应多个域名或一个域名对应多个IP,用空格隔开,当一个域名对应多个IP时,以配置文件中靠后面的配置为准),但是该域名配置只在本机生效!

10.12 firewalld和netfilter

SELinux防火墙

  • 临时关闭SELinux防火墙:
[root@adai003 ~]# setenforce 0
  • 永久关闭SELinux防火墙:

编辑配置文件‘/etc/selinux/config’

[root@adai003 ~]# vim /etc/selinux/config
……
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
……
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

将SELINUX=enforcing改为disabled保存,重启系统即可!

  • 查看SELinux防火墙状态
[root@adai003 ~]# getenforce
Disabled

netfilter(Firewalld)

>Centos7中默认将原来(centos5/6)的防火墙netfileter升级为了firewalld。iptables是它们实现防火墙功能的工具。

为了方便学习,暂时停用firewalld,开启centos6/5的防火墙机制netfilter。

  • 停用firewalld
1、关闭firewalld(禁止开机启动)
[root@adai003 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

2、停止firewalld服务
[root@adai003 ~]# systemctl stop firewalld
  • 开启netfilter
开启前先安装iptables工具包:
[root@adai003 ~]# yum install -y iptables-services  

开启iptables服务:
[root@adai003 ~]# systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
[root@adai003 ~]# systemctl start iptables

说明: 安装完成后默认开启iptables服务。

  • 查看iptables规则:iptables -nvL
[root@adai003 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    7   536 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 5 packets, 684 bytes)
 pkts bytes target     prot opt in     out     source               destination         

10.13 netfilter 5表及链的介绍

表名

  • filter:包过滤,用于防火墙规则。
  • nat:地址转换,用于网关路由器。
  • mangle:用于给数据包打标记,然后根据标记去操作那些表。(不常用)
  • 还有两个不常用的表:raw和security,在此不多讲述。

规则链名

  • filter的三种链:

    • INPUT链:作用于输入本机的数据包。
    • OUTPUT链:作用于本机输出的数据包。
    • FORWARD链:作用于与本机无关的包。
  • nat的三种链:

    • PREROUTING链:作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。
    • OUTPUT链:改变本地产生的包的目的地址。
    • POSTROUTING链:在包离开防火墙之前改变其源地址。

nat表应用(了解内容)

环境:
假设有三台机器(A,B,C),A机器上有一块网卡连接公网IP1;B机器上有两块网卡b1、b2,b1、b2分别连接公网和私网IP2,、IP3;C机器上有一块网卡连接私网IP4。很明显此时A&B,B&C之间都分别能互通,但是A和C之间是不能直接连通的,只能借助B做媒介才能连通。那么如何设置才能使得A和C之间互通呢?

方法:

先打开路由转发功能:
[root@adai003 ~]# echo "1" > /proc/sys/net/ipv4_forward

然后对nat表做IP转发配置:
[root@adai003 ~]# iptables -t nat -A POSTROUTING -s IP2(此处IP在同一个网段即可) -o ensA(A机器的网卡名称) -j MASQUERADE

说明: -o 选项后面跟设备名称,表示出口网卡,MASQUERADE是伪装、冒充的意思。

10.14 iptables语法

>iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。

语法: iptables [options] [参数]
Options:
-n:不针对IP反解析主机名
-v:显示更详细的信息
-t:指定表(iptables命令默认作用于filter表)
-L:显示信息
-F:清空所有规则
-A/D:=add/delete,添加/删除一条规则
-I:插入一条规则
-p:指定协议,可以是tcp,udp或icmp
--sport:跟-p一起使用,指定源端口
--dport:跟-p一起使用,指定目标端口
-s:指定源IP(可以是一个IP段)
-d:指定目的IP(可以是一个IP段)
-j:后面跟动作(ACCEPT表示允许包;DROP表示丢掉包;REJECT表示拒绝包)
-i:指定网卡
-Z:把包以及流量计数器清零
-P:=pre,预设策略

  • iptables命令选项输入顺序:
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
  • 查看规则
[root@adai003 ~]# iptables -nvL

iptables规则配置文件:/etc/sysconfig/iptables

  • 清空规则
[root@adai003 ~]# iptables -F

注: 该命令不会清除配置文件内的规则!当更改规则后需要执行命令‘service iptables save’将其保存到配置文件。

  • 增加一条规则(-A/I)
[root@adai003 ~]# iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP

说明: 增加一条规则,当IP~192.168.188.1、协议为tcp、端口为‘1234’的向IP~192.168.188.128、端口为80的机器发送包时执行操作:drop(丢掉包)。
注: 该命令也可以把-A换成-I,两者的区别类似于排队和插队,两种方法插入的规则优先级不同。

  • 删除一条规则(-D)
    方法1: 知道规则的内容
[root@adai003 ~]# iptables -D INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP

注: 要删除一条规则时,必须和插入的规则一致,也就是说,两条iptables命令除了-A/I和-D不一样外,其他地方都一样。

方法2: 忘记规则内容
首先所以用以下命令查看规则序号:

[root@adai003 ~]# iptables -nvL --line-number

然后再执行删除命令:

[root@adai003 ~]# iptables -D INPUT [序号]  
  • 更改预设策略(-P)

mark

执行命令:

# iptables -P OUTPUT DROP

结果:
mark

注意: 尽量不要随意更改该配置,尤其是在进行远程登录时,一旦执行该命令后将会断开连接。这个策略设定后只能用命令:‘iptables -P OUTPUT ACCEPT’来恢复成原始状态,不能使用-F参数。

转载于:https://my.oschina.net/1995blog/blog/1594007

分享到:
评论

相关推荐

    2-k8部署之环境配置1

    在安全层面上,需要临时禁用SELinux,通过`setenforce 0`命令实现。同时,安装`net-tools`套件,它包含了一些常用的网络管理工具,如`ping`和`ifconfig`,在部署过程中很有帮助。 Docker的安装是K8S的前提条件,...

    安装k8s 1.24.0

    * 关闭防火墙并设置开机禁用防火墙 * 关闭 selinux 闭 swap 分区(虚拟内存)并且永久关闭虚拟内存 * 升级 Linux 内核为 4.4+ 版本 四、创建配置文件 在安装 k8s 1.24.0 之前,需要创建以下配置文件: * /etc/...

    Centos 6.5 服务器优化配置备忘(一些基础优化和安全设置)

    6、关闭selinux,清空iptables 7、创建普通用户并进行sudo授权管理 8、修改SSH端口号和屏蔽root账号远程登陆 9、锁定关键文件系统(禁止非授权用户获得权限) 10、精简开机自启动服务 11、调整系统文件描述符大小 12...

    Kotlin-记事本项目代码(android+kotlin)

    Kotlin-记事本项目代码(android+kotlin)

    识别车牌的一个小demo.zip

    车牌识别

    园区(特色小镇)智慧化解决方案PPT(53页).pptx

    在当今数字化浪潮中,园区智慧化建设正成为推动区域经济发展和产业转型升级的关键力量。这份园区智慧化解决方案全面展示了如何通过集成大数据、云计算、物联网(IoT)、人工智能(AI)、地理信息系统(GIS)和建筑信息模型(BIM)等前沿技术,为传统产业园区插上数字的翅膀,打造“数字创新”产业园区。 数字技术赋能,重塑园区生态 传统产业园区往往面临运营效率低下、管理粗放、资源利用率不高等问题。而通过智慧化改造,园区可以实现从“清水房”到“精装房”的华丽蜕变。数字化技术不仅提升了园区的运营管理水平,降低了运营成本,还显著增强了园区的竞争力和吸引力。例如,通过构建园区数字模型(CIM),实现了多规数据融合,形成了园区规划“一张图”,为园区管理提供了直观、高效的可视化工具。此外,智能感知设施的应用,如环境监测、能耗监测等,让园区管理更加精细化、科学化。智慧能源管理系统通过实时监测和智能分析,帮助园区实现低碳绿色发展,而综合安防管控系统则通过AI+视频融合技术,为园区安全保驾护航。更有趣的是,这些技术的应用还让园区服务变得更加个性化和便捷,比如园区移动APP,让企业和员工可以随时随地享受园区服务,从会议室预定到智慧公寓管理,一切尽在“掌”握。 智慧运营中心,打造园区大脑 园区智慧化建设的核心在于构建智慧运营中心,这可以看作是园区的“数字大脑”。通过集成物联网服务平台、大数据分析平台、应用开发赋能平台等核心支撑平台,智慧运营中心实现了对园区内各类数据的实时采集、处理和分析。在这个“大脑”的指挥下,园区管理变得更加高效、协同。比如,建设工程项目智慧监管系统,通过基于二三维GIS底图的统一数字化监管,实现了对园区在建工程项目的进度控制、质量控制和安全控制的全方位监管。可视化招商系统则利用CIM模型,以多种方式为园区对外招商推介提供了数字化、在线化的展示窗口。而产业经济分析系统,则通过挖掘和分析产业数据,为园区产业发展提供了有力的决策支持。智慧运营中心的建设,不仅提升了园区的整体运营水平,还为园区的可持续发展奠定了坚实基础。 产业服务升级,激发创新活力 园区智慧化建设不仅关注基础设施和运营管理的升级,更重视产业服务的创新。通过整合平台资源、园区本地资源和外围资源,打造园区服务资源池,为园区内的企业和个人提供了全面的智慧管理、智慧工作和智慧生活服务。特别是工业互联网平台和工业云服务的建设,为园区内的企业提供了轻量化、智能化的生产服务。这些服务涵盖了车间信息化管理、云制造执行、云智能仓储、设备健康管理等多个方面,有效提升了企业的生产效率和竞争力。此外,通过产业经济分析系统,园区还能够对潜在客户进行挖掘、对经销商进行风控、对产品销量进行预测等,为企业的市场营销提供了有力支持。这些创新的产业服务,不仅激发了园区的创新活力,还为区域经济的转型升级注入了新的动力。总之,园区智慧化建设是一场深刻的变革,它正以前所未有的方式重塑着园区的生态、运营和服务模式,为园区的可持续发展开辟了广阔的前景。

    Redmine Tags plugin (Light version) 可自定义issue标签插件 可设置ISSUE标签 并设置根据标签查询 1.验证通过版本redmine5.0.4 2.解压tar

    Redmine Tags plugin (Light version) 可自定义issue标签插件 可设置ISSUE标签 并设置根据标签查询 1.验证通过版本redmine5.0.4 2.解压tar包至redmine/plugins目录重启redmine即可

    车牌识别_神经网络_模板匹配_训练识别程序_1741774578.zip

    车牌识别项目

    powerDesigner报告模板

    powerDesigner报告模板

    yolov5 csl_labelOriented Object detection旋转检测.zip

    python、yolo、pytorch

    车牌识别_深度学习_YOLOV7_LPRnet_技术实现与实_1741774682.zip

    车牌识别项目

    a8cce16fd8df855fa808c72133df2b4a_1741769036387_1

    a8cce16fd8df855fa808c72133df2b4a_1741769036387_1

    33559399361500导师评价.zip

    33559399361500导师评价.zip

    jaxlib-0.4.18-cp311-cp311-macosx_10_14_x86_64.whl

    该资源为jaxlib-0.4.18-cp311-cp311-macosx_10_14_x86_64.whl,欢迎下载使用哦!

    学号+姓名+实验二.ipynb

    学号+姓名+实验二.ipynb

    机器人项目-基于STM的智能引导车code(用户引导残障人士)

    机器人项目-基于STM的智能引导车code(用户引导残障人士)

    亲测柚子社区团购源码V1.6.2 小程序开源版+前端.zip

    亲测柚子社区团购源码V1.6.2 小程序开源版+前端(已亲测可安装使用) 是以微信为载体整合多个社区社群资源,形成由商家集中化管理运营的预售 团购的社区商业模式。 主要销售场景是由各快递代收点、社区便利店、社区物业、业主等发起的社区微信群,每个群都相当于一个社区店。

    基于caffe的Yolov3v4实时目标检测框架.zip

    python、yolo、pytorch

    java-springboot+vue编程训练系统设计与实现源码(项目源码-说明文档).zip

    系统选用B/S模式,后端应用springboot框架,前端应用vue框架, MySQL为后台数据库。 本系统基于java设计的各项功能,数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。 在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

    图像识别_Cifar10_多种网络_分类研究_1741783912.zip

    图像处理项目实战

Global site tag (gtag.js) - Google Analytics