文档章节

lLinux网络相关命令,防火墙介绍及相关命令

z
 zgxlinux
发布于 2018/10/26 08:49
字数 2319
阅读 20
收藏 2

​10月25日任务

10.11 Linux网络相关

10.12 firewalld和netfilter

10.13 netfilter5表5链介绍

10.14 iptables语法

 

 

10.11、Linux网络相关

  • ifconfig查看网卡IP (yum install -y net-tools)

  • ifup eth0/ifdown eth0

  • 设定虚拟网卡eth0:1

  • mii-tool eth0 查看网卡是否连接

  • ethtool ens33 也可以查看网卡是否连接

  • 更改主机名 hostname set-hostname aminglinux

  • DNS配置文件/etc/resolv.conf

  • /etc/hosts文件

 

#,因为是远程连接 ,所致只能演示同时运行关闭网卡和开启网卡。(当修改指定网卡配置信息后可以运行这条命令重启网卡)

[root@centos6 ~]# ifdown eth0 && ifup eth0
Determining if ip address 172.16.5.235 is already in use for device eth0...

 

#设置一个虚拟的网卡信息

[root@centos6 ~]# cd /etc/sysconfig/network-scripts/
[root@centos6 network-scripts]# ls
ifcfg-eth0    ifdown-isdn    ifup-eth    ifup-routes
ifcfg-eth0:1  ifdown-post    ifup-ib     ifup-sit
ifcfg-lo      ifdown-ppp     ifup-ippp   ifup-tunnel
ifdown        ifdown-routes  ifup-ipv6   ifup-wireless
ifdown-bnep   ifdown-sit     ifup-isdn   init.ipv6-global
ifdown-eth    ifdown-tunnel  ifup-plip   net.hotplug
ifdown-ib     ifup           ifup-plusb  network-functions
ifdown-ippp   ifup-aliases   ifup-post   network-functions-ipv6
ifdown-ipv6   ifup-bnep      ifup-ppp
[root@centos6 network-scripts]# cp ifcfg-eth0 ifcfg-eth0\:1
[root@centos6 network-scripts]# vim !$
vim ifcfg-eth0\:1
[root@centos6 network-scripts]# ifdown eth0 && ifup eth0
Determining if ip address 172.16.5.235 is already in use for device eth0...
Determining if ip address 172.16.5.236 is already in use for device eth0...
[root@centos6 network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:A4:3D:92  
          inet addr:172.16.5.235  Bcast:172.16.5.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fea4:3d92/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:492143 errors:0 dropped:0 overruns:0 frame:0
          TX packets:92971 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:41370766 (39.4 MiB)  TX bytes:29602942 (28.2 MiB)
eth0:1    Link encap:Ethernet  HWaddr 00:50:56:A4:3D:92  
          inet addr:172.16.5.236  Bcast:172.16.5.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

# 远程查看网卡是否联网,提示link ok 说明连接了网线,link no说明没有连接网线

[root@centos6 network-scripts]# mii-tool eth0
eth0: negotiated 100baseTx-FD, link ok

#更改主机名

[root@zgxlinux-01 ~]# hostnamectl set-hostname zgxlinux-001
[root@zgxlinux-01 ~]# bash
[root@zgxlinux-001 ~]# exit
exit

#DNS配置文件,修改这个配置文件只能临时生效 ,重启后将恢复成eth0配置文件的DNS

[root@zgxlinux-01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 119.29.29.29

 

 

 

10.12、firewalld和netfilter

linux防火墙-netfilter

  • selinux 临时关闭setenforce 0

  • selinux 永久关闭 vi /etc/selinux/config

  • entos7之前使用netfilter防火墙

  • centos7开始使用firewalld防火墙

  • 关闭firewalld开启netfilter方法

  • systemctl stop filewalld

  • systemctl disable firwalled

  • yum install -y iptables-services

  • systemctl enable iptables

  • systemctl start iptables

#临时关闭和永久关闭防火墙,永久关闭把SELINUX=enforing改为SELINUX=disabled,然后重启系统  。getenforce输出Permissive表示临时关闭,Enforcing 表示打开。

[root@zgxlinux-01 ~]# setenforce 0
[root@zgxlinux-01 ~]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@zgxlinux-01 ~]# getenforce
Permissive

 

#centos7开始防火墙是firewalld,centos7之前防火墙是netfilter,但是很多企业都还用的是centos6甚至更早的版本 ,所以我们不能不知道。那如何把centos7防火墙切换到centos6使用的netfilter呢 ,下边我们来操作。

[root@zgxlinux-01 ~]# systemctl disable firewalld            #先把firewalld改为开机不自启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@zgxlinux-01 ~]# systemctl stop firewalld                #然后再停掉firewelld防火墙
[root@zgxlinux-01 ~]# yum install -y iptables-services   #在开启netfileter之前需要安装这个包
[root@zgxlinux-01 ~]# systemctl enable iptables            #安装之后会产生一个iptables服务
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
[root@zgxlinux-01 ~]# systemctl start iptables                 #开启iptables服务
[root@zgxlinux-01 ~]# iptables -nvL                                 #运行iptables -nvL命令可以查看iptables的一些默认规则
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination       
   36  2432 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 23 packets, 2012 bytes)
pkts bytes target     prot opt in     out     source               destination

 

 

10.13、netfilter5表5链介绍

  • netfilter的5个表

  • fileter表示过滤包,最常用的表,有INPUT、FORWARD、OUTPUT三个链

  • nat表用于网络地址转换,有PREROUTING、OUTPUT、POSTROUTING三个链

  • managle表用于给数据包做标记,几乎用不到

  • raw表可以实现不追踪某些数据包,阿铭从来不用

  • security表在centos6中并没有,用于强制访问控制(MAC)的网络规则,阿铭没用过

  • 参考文章 http://www.cnblogs.com/metoy/p/4320813.html

 

10.14 、iptables语法

  • 数据包流向与netfilter的5个链

  • PREROUTING:数据包进入路由表之前

  • INPUT:通过路由表后目的地为本机

  • FORWARD:通过路由表后,目的地不为本机

  • OUTPUT:由本机产生,向外发送

  • POSTROUTING:发送到网卡接口之前

 

相关命令和用法

  • 查看iptables规则:iptables -nvL

  • iptables -F  清空规则

  • service iptables save  保存规则

  • iptables -t nat //-t指定表

  • iptables -Z 可以把计数器清零

  • iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP

  • iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP      #-A新增  -I 插入  -D 删除

  • iptables -I INTPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

  • iptables -nvL --line-numbers

  • iptables -D INPUT 1

  • iptables -P INPUT DROP     #-P 默认规则,这条一般不要轻易执行。

#默认规则保存位置在/etc/sysconfig/iptables下

[root@zgxlinux-01 ~]# cat /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

#iptables -F清空规则 ,但是配置文件里边还保存着。运行service iptables save   保存规则;修改完规则后需要重启服务。

[root@zgxlinux-01 ~]# iptables -F
[root@zgxlinux-01 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 29 packets, 1940 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

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

[root@zgxlinux-01 ~]# service iptables save

[root@zgxlinux-01 ~]# service iptables restart
Redirecting to /bin/systemctl restart iptables.service

#  -A表示增加规则 ,-I表示插入规则。

[root@zgxlinux-01 ~]# iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
[root@zgxlinux-01 ~]# iptables -I INPUT -p tcp --dport 80 -j DROP
[root@zgxlinux-01 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
   67  4740 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
    1   229 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
    0     0 DROP       tcp  --  *      *       192.168.188.1        192.168.188.128      tcp spt:1234 dpt:80

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 15 packets, 1428 bytes)
 pkts bytes target     prot opt in     out     source               destination

#删除规则。

[root@zgxlinux-01 ~]# iptables -D INPUT -p tcp --dport 80 -j DROP
[root@zgxlinux-01 ~]# iptables -D INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
[root@zgxlinux-01 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  309 24924 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
    2   458 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 17 packets, 1628 bytes)
 pkts bytes target     prot opt in     out     source               destination

#删除规则的时候必须要把规则写的完全相同,但是时间久了我们记不住具体规则了怎么删除呢?这时候我们可以把规则编号;

[root@zgxlinux-01 ~]# iptables -nvL --line-number
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
2      604 48564 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
3        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
4        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
5        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
6        2   458 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
7        0     0 DROP       tcp  --  *      *       192.168.188.1        192.168.188.128      tcp spt:1234 dpt:80

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

Chain OUTPUT (policy ACCEPT 61 packets, 10052 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
[root@zgxlinux-01 ~]# iptables -D INPUT 7
[root@zgxlinux-01 ~]# iptables -D INPUT 1
[root@zgxlinux-01 ~]# iptables -nvL --line-number
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      677 53536 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
3        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
4        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
5        2   458 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)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 6 packets, 696 bytes)
num   pkts bytes target     prot opt in     out     source               destination

© 著作权归作者所有

共有 人打赏支持
z
粉丝 3
博文 54
码字总数 63757
作品 0
浦东
运维
私信 提问
初识Linux防火墙

防火墙相关概念 关于什么是防火墙,凡是接触过计算机的朋友应该都会了解。在现代计算机通信中,有很多的安全技术,防火墙就是其中最基本的一种。 同时,防火墙具备一些有效的隔离功能,能够对...

Eumenides_s
2017/10/20
0
0
CentOS6 Linux安装setup tool之后

1、如果CentOS是使用最小化安装的,安装完成后,将不能使用setup命令; ~]# setup-bash: setup: command not found 2、需要安装setuptool; ~]# yum -y install setuptool 3、安装完成后,就...

AsherWang
2017/05/20
0
0
iptables实现网络防火墙(二)——SNAT与DNAT

前言 在前面的文章中,我们曾经简单的介绍过Linux内核中防火墙的基本概念,以及四表五链的相关知识,可参看 LINUX 防火墙介绍。 并且也介绍了如何在Linux环境中搭建一个能够过滤协议和端口的...

Eumenides_s
2017/10/23
0
0
iptables的备份及脚本构成

在Linux中,iptables为我们提供了批量备份与恢复规则的命令,防火墙脚本实际上是一个shell脚本程序,便于使用shell变量、程序控制逻辑,在需要重用、移植使用时会非常方便,只需修改下变量值...

杨书凡
2018/01/06
0
0
iptables实现网络防火墙(一)

前言 关于防火墙的相关概念,我们在之前的文章中已经进行了相关的介绍,这里就不再重复。感兴趣的朋友可以移步 初识Linux防火墙 今天重点记录一下,如何使用iptables来搭建网络防火墙,实现控...

Eumenides_s
2017/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊flink的Table API及SQL Programs

序 本文主要研究一下flink的Table API及SQL Programs 实例 // for batch programs use ExecutionEnvironment instead of StreamExecutionEnvironmentStreamExecutionEnvironment env = Stre......

go4it
30分钟前
1
0
mysqldump应用

备份单个库/表数据或库/表结构 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 备份文件名 1、导出数据库为dbname的表结构(其中用戶名為root,密码为dbpasswd,生成的...

阿dai
38分钟前
1
0
shell脚本与Python的交互

1、Python针对shell获取传入,输出参数 传入:"$num" 例如: $0表示文件名,$1表示shell获取的第一个参数 输出:通过打印shell结果的方式,输出参数给Python。 例如: echo "{$iplist}",Python调...

一口今心
40分钟前
1
0
Euler 今日问世!国内首个工业级的图深度学习开源框架,阿里妈妈造

阿里妹导读:千呼万唤始出来!阿里妈妈正式公布重磅开源项目——图深度学习框架Euler。这是国内首个在核心业务大规模应用后开源的图深度学习框架。此次开源,Euler内置了大量的算法供用户直接...

阿里云官方博客
47分钟前
1
0
TiDB 3.0 Beta Release Notes

2019 年 1 月 19 日,TiDB 发布 3.0 Beta 版,对应 master branch 的 TiDB-Ansible。相比 2.1 版本,该版本对系统稳定性、优化器、统计信息以及执行引擎做了很多改进。 TiDB 新特性 支持 Vi...

TiDB
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部