【 linux知识积累 】网络相关配置与知识-CentOS7为例

一、 网卡常见命名规则及修改

  1. 网卡接口常见命名规则

    eno1: 代表由主板bios内置的网卡

    ens1: 代表有主板bios内置的PCIE网卡

    enp2s0: PCIE独立网卡

    eth0: 以上都不适用,回到默认网卡名

    lo: 虚拟回环网卡

    vibr: 虚拟网桥

   2. 修改网卡名称的方法

(1) 将CentOS7下网卡名称改为默认的ethX(此种方法会出现名称和物理顺序不对应的情况,而且每次的对应顺序不固定)

a. 在/etc/default/grub文件的 GRUB_CMDLINE_LINUX 项添加 net.ifnames=0 biosdevname=0,原理见连接。

HYPERLINK "https://www.cnblogs.com/yanh0606/p/10910808.html"

b.重新生成grub文件

grub2-mkconfig -o /boot/grub2/grub.cfg

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

(2) 将CentOS7下网卡名称改为任意自定义名称

a. 在/etc/udev/rules.d/ 下,添加数字开头的自定义规则(建议50-net-early.rules,原因见下方链接,结合udev加载规则的优先级顺序)

b. 自定义规则内容为,测试,udev检测到网卡后跳转到PROGRAM所指示的脚本中执行

ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", PROGRAM="/usr/sbin/pci_nic_rename.sh %k", RESULT=="?*", NAME="$result" (仅仅为举例,具体请自行学习udev语法)

c. 在自定义脚本中的工作是,将我们自已要定义的名称和/sys/device下其编号做对应关系,以后每次启动时,进行匹配后的修改。

3. 修改静态网络相关信息

a. 修改ip地址

即时生效: ifconfig eth0 192.168.1.155 netmask 255.255.255.0

重启生效: vi /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR(IP) MASK(掩码)

b. 修改默认网关

即时生效: route add default gw 192.168.1.1

重启生效: vi /etc/sysconfig/network-scripts/ifcfg-eth0 GATEWAY

全部有效: vi /etc/resolv.conf

c. 修改host name

即时生效: hostname test1

重启生效: vi /etc/sysconfig/network

d. 修改MAC地址

即时生效: ifconfig eth0 down

ifconfig eth0 hw ether 00:0C:29:36:97:20

ifconfig eth0 up

service network restart

永久修改:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

MACADDR=00:0C:29:36:97:20

注释到原来的HWADDR12

4. CentOS修改网络配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ensxx

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

NAME=enp0s31f6

DEVICE=enp0s31f6

ONBOOT=yes

IPADDR=10.222.40.30

NETMASK=255.255.252.0

GATEWAY=10.222.40.1

5. Linux添加路由的方法

a. 查看现有路由信息

route

route -n

ip route show

b. 路由信息中字母代表的含义

destination 目标网段或主机

gateway 网关

genmask 子网掩码

flags 标记,一下可能的标记如下

U 该路由可以使用

G 路由是网关,如果灭有,说明目的地址是直连的,G很重要,区分了间接路由和直接路由

H 该路由是到一个主机

D 该路由是有重定向报文创建的

M 该路由已经被重定向报文修改

metric 路由距离,到达指定网络所需的中转数(linux内核中没有使用)

ref 路由项引用次数(linux内核中没有使用)

use 此路由项被路由软件查找的次数

iface 改路由表项对应的输出接口

c. 临时路由操作

添加 route add -net 192.56.76.0 gateway 205.1.0.1 netmask 255.255.255.0 dev eth0

删除 route del -net 192.56.76.0 gateway 205.1.0.1 netmask 255.255.255.0 dev eth0

添加默认路由 route add default gw + 本机的网关

d. 添加永久路由

(1) 在开机脚本中添加上述操作 /etc/rc.d/rc.local 不推荐

(2) CentOS 添加 /etc/sysconfig/network-scripts/route-enp16s0

206.206.0.0/16 via 205.1.0.1 dev enp16s0

6. WIN添加路由的方法

a. 打开cmd

b. 在命令行下输入route命令,会有对应的提示信息

ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]

-f 清除所有网关项的路由表,如果与某个命令结合使用,在运行该命令前,应清除路由表。

-p 与add命令结合使用时,将路由设置为在系统引导期间保持不变。默认情况下,重新启动系统时,不保存路由,忽略所有其他命令,这将会始终影响相应的永久路由,win95不支持

-4 强制使用IPv4

-6 强制使用IPv6

实例:

1. 查看所有 route print

2. 添加路由

route add 157.0.0.0 MASK 255.0.0.0 157.55.80.1

待连接的网关 子网掩码 本地网关

route add 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3

route add 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2

3. 添加一条永久路由条目(-p 表示永久路由,重启后不丢失)

route -p add 157.0.0.0 MASK 255.0.0.0 157.55.80.1

4. 删除一条路由条目

route delete 157.0.0.0

5. 修改路由条目 (CHANGE 只用于修改网关和/或跃点数)

route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

7. 防火墙

    功能 iptables-service iptables-systemctl firewalld-service firewalld-systemctl

   查看状态 service iptables status      systemctl status firewalld

   临时关闭 service iptables stop    service firewalld stop systemctl stop firewalld

   临时开启 service iptables start    service firewalld start systemctl start firewalld

   永久关闭 chkconfig iptables off      systemctl disable firewalld

   永久开启 chkconfig iptables on       systemctl enable firewalld

   重启防火墙 service iptables restart   service firewalld restart

# 查看防火墙规则 firewall-cmd --list-all

# 查询端口是否开放 firewall-cmd --query-port=8080/tcp

# 开放80端口 firewall-cmd --permanent --add-port=80/tcp

# 移除端口 firewall-cmd --permanent --remove-port=8080/tcp

#重启防火墙(改配置后重启)

firewall-cmd --reload

# 参数解释

1、firwall-cmd:是Linux提供的操作firewall的一个工具;

2、--permanent:表示设置为持久;

3、--add-port:标识添加的端口;

2.开启80端口

vim /etc/sysconfig/iptables

# 加入如下代码

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

保存退出后重启防火墙

service iptables restart

8. bond

查看bond modinfo bonding

查看内核是否支持 bonding cat /boot/config-xxxxxxxxxxxx |grep -i bonding

9. SElinux

临时关闭SELinux setenforce 0

临时打开SELinux setenforce 1

查看SELinux状态 getenforce

开机关闭SELinux 编辑/etc/selinux/config文件,将SELINUX的值设置为disabled, 注意,此时也不能通过setenforce 1 命令打开

功能 iptables-service iptables-systemctl firewalld-service firewalld-systemctl

查看状态 service iptables status systemctl status firewalld

临时关闭 service iptables stop service firewalld stop systemctl stop firewalld

临时开启 service iptables start service firewalld start systemctl start firewalld

永久关闭 chkconfig iptables off systemctl disable firewalld

永久开启 chkconfig iptables on systemctl enable firewalld

重启防火墙 service iptables restart service firewalld restart

# 查看防火墙规则 firewall-cmd --list-all