欢迎光临
我们一直在努力

为什么选择 Debian

Jackie阅读(321)

Debian是一个非常受欢迎的Linux操作系统,它在全球范围内被广泛使用。它的稳定性和可靠性是其他操作系统无法匹敌的。在这篇文章中,我们将探讨为什么选择Debian,并介绍它的优点。

1.稳定性

Debian是一个非常稳定的操作系统。它经过了长时间的测试和开发,以确保它的稳定性和可靠性。事实上,Debian的开发团队花费了大量的时间和精力来测试每个软件包,以确保它们可以在各种不同的硬件和软件环境中运行。这使得Debian成为一个非常可靠的操作系统,可以用于各种不同的任务。

2.安全性

Debian是一个非常安全的操作系统。它经过了长时间的开发和测试,以确保它的安全性和可靠性。Debian的开发团队花费了大量的时间来测试每个软件包,以确保它们没有任何漏洞或安全问题。此外,Debian还有一个非常活跃的社区,可以及时处理任何安全问题。

3.灵活性

Debian是一个非常灵活的操作系统。它可以在各种不同的硬件和软件环境中运行,并且可以使用各种不同的桌面环境和软件包。这使得Debian成为一个非常灵活的操作系统,可以用于各种不同的任务。

4.可定制性

Debian是一个非常可定制的操作系统。它可以根据用户的需要进行配置,并且可以添加或删除软件包。此外,Debian还有一个非常活跃的社区,可以提供各种不同的软件包和工具,以满足用户的需求。

5.免费和开源

Debian是一个免费和开源的操作系统。这意味着用户可以自由地使用、修改和分发Debian,而无需支付任何费用。此外,Debian还有一个非常活跃的社区,可以提供各种不同的支持和帮助。

总结

总之,Debian是一个非常稳定、安全、灵活、可定制、免费和开源的操作系统。它在全球范围内被广泛使用,并且拥有一个非常活跃的社区。如果您正在寻找一个可靠、安全、灵活和可定制的操作系统,那么Debian是一个非常好的选择。

国产操作系统UOS上开启SSH服务

Jackie阅读(313)

安装openssh

sudo apt install openssh-server -y

启动ssh服务

sudo /etc/init.d/ssh start

验证服务是否开启

ps -e | grep ssh

修改SSH配置文件
sudo vim /etc/ssh/sshd_config

往下拉找到

修改为

保存退出
Ctrl + O 按 Enter 写入

Ctrl + X 按 Enter 离开

重启ssh服务
sudo service ssh restart

此时再使用SSH客户端就可以正常使用root账号远程登陆UOS系统了

Windows Server 2008 R2 迁移到 VMware 平台

Jackie阅读(278)

对于将 Windows Server 2008 R2 迁移到 VMware 平台,可以遵循以下步骤:

  1. 确保目标 VMware 环境已经搭建好,并且具备足够的硬件资源来承载迁移后的虚拟机。
  2. 在 VMware 环境中创建一个新的虚拟机,确保其与原始物理服务器相匹配,包括处理器架构、内存和存储等方面。
  3. 使用 VMware 提供的 V2V (Physical-to-Virtual) 工具将 Windows Server 2008 R2 的物理服务器转换为 VMware 可识别的虚拟磁盘格式(如 VMDK)。
  4. 将转换后的虚拟磁盘文件导入到 VMware 环境中,并将其关联到新创建的虚拟机。
  5. 检查并调整新虚拟机的网络设置、操作系统配置和其他应用程序依赖项。
  6. 启动新虚拟机,并确保其能够正常运行和访问所需的应用程序和服务。
  7. 在确认迁移成功后,可以逐步停用原始物理服务器,将流量和工作负载完全转移到 VMware 上的新虚拟机。

请注意,在进行任何类型的迁移操作之前,务必备份原始服务器上的重要数据,并在验证迁移后的虚拟机工作正常之前进行充分的测试和验证。根据具体情况,还可能需要特定的迁移工具或技术来完成迁移过程。建议在进行操作前仔细阅读 VMware 的相关文档并遵循最佳实践指南。

详细介绍nmcli命令常用方法和网卡绑定

Jackie阅读(496)

nmcli 是 NetworkManager 的命令行工具,可以用于管理网络连接和设备配置。下面简单介绍一下 nmcli 常用的几个功能。

案例展示:

# 1. 先备份原有网络配置文件
cp /etc/sysconfig/network-scripts/ifcfg-eno* .

# 2. 看一下当前有哪些网卡[root@m01 ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 16d2cd29-5a42-4d84-91ba-eef9ac8e212a ethernet ens33
ens34 73058591-0684-482a-843f-d58630f02a29 ethernet ens34

# 3. 先创建一个bond类型的网卡,我们采用bond6
nmcli connection add con-name bond6 ifname bond6 type bond mode 6

# 4. 向新创建的bond6网卡添加两块实体网卡(就是上面看到的ens33、ens34),bond6作为主网卡
nmcli connection add con-name slave1 ifname ens33 type ethernet master bond6
nmcli connection add con-name slave2 ifname ens34 type ethernet master bond6

# 5. 修改bond6的信息:设置静态ip,地址为172.18.2.12,并且设置开机自启动,网关是172.18.2.254
nmcli connection modify bond6 ipv4.method manual connection.autoconnect yes ipv4.addresses 172.18.2.12 ipv4.gateway 172.18.2.254

# 6. 启动网卡。这时候我们就绑定成功了
nmcli connection up bond6
nmcli的用法

格式:
nmcli [OPTIONS] OBJECT { COMMAND | help }

详解:
nmcli help

Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS  

-a, --ask ask for missing parameters 
-c, --colors auto|yes|no whether to use colors in output   #输出结果的时候自动带上颜色  
-e, --escape yes|no escape columns separators in values  
-f, --fields <field,...>|all|common specify fields to output  #指定要输出的字段。【网络配置文件中的字段】  
-g, --get-values <field,...>|all|common shortcut for -m tabular -t -f  
-h, --helpprint this help  
-m, --mode tabular|multiline output mode  
-o, --overview overview mode  
-p, --pretty pretty output  
-s, --show-secrets allow displaying passwords  
-t, --terse terse output  
-v, --version show program version  
-w, --wait <seconds> settimeout waiting for finishing operations

OBJECT  

g[eneral] NetworkManager's general status and operations  #网络管理的一般状态和操作  
n[etworking] overall networking control                   #整体网络控制  
r[adio] NetworkManager radio switches                       
c[onnection] NetworkManager's connections                 #管理网络连接  
d[evice] devices managed by NetworkManager                #管理网络设备  a[gent] NetworkManager secret agent or polkit agent  
m[onitor] monitor NetworkManager changes                  #监控网络变化
nmcli  general

格式:

nmcli general {status | hostname | permissions | logging}

使用此命令可以显示网络管理器状态和权限,你可以获取和更改系统主机名,以及网络管理器日志记录级别和域

示例:
# 查看网络管理状态# 
nmcli general status

STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled

# nmcli general hostname
localhost.localdomain
# nmcli general permissions
nmcli networking

格式:
nmcli networking {on | off | connectivity}

用来查询NetworkManager网络状态。即网络是否被NetworkManager管理

示例:
# nmcli ne connectivity
full
上面的输出结果说明:主机与网络相连,可以完全访问Internet。
还有一些其他输出,我们来看看:
on: 禁用所有接口
off: 开启所有接口
connectivity: 获取网络状态,可选参数checl告诉网络管理器重新检查连接性,否则显示最近已知的状态。而无需重新检查。(可能的状态如下所示)
none: 主机为连接到任何网络
portal: 无法到达完整的互联网
limited: 主机已连接到网络,但无法访问互联网
full: 主机连接到网络,并具有完全访问
unknown: 无法找到连接状态

nmcli connection
格式:
nmcli connection {show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export} [ARGUMENTS...]
参数说明:
show        查看网络信息
up            启动(激活)一个连接
down        关闭一个连接
modify       修改已有的网络配置信息
add           添加网络配置信息
edit          编辑一个已有的或者添加一个新的连接
delete      删除一个

连接示例:
# 查看所有网络连接
nmcli c show
# 查看所有活动的连接
nmcli c show -active
# 查看指定网卡的信息
nmcli c show ens33
# 网卡状态修改
nmcli connection up ens33
# 停用网络连接
nmcli c down ens33
# 删除网络连接的配置文件
nmcli c delete ens33
# 重新加载网络配置
nmcli c reload
# 修改网卡配置文件

## 自动启动网卡。实际修改的是网卡配置文件ONBOOT=yes
nmcli c modify ens34 connection.autoconnect yes
## 手动设置IPv4地址,如果原本是DHCP获取地址,改手动后,如果后面不接IP地址,可能会报错
nmcli connection modify ens37 ipv4.method manual ipv4.addresses 172.16.10.1/16
## 设置IP地址为DHCP
nmcli connection modify ens37 ipv4.method auto
##  实际修改的是网卡配置文件
BOOTPROTO,BOOTPROTO=none 表示手动;BOOTPROTO=dhcp 表示dhcp
## 修改ip  实际修改的是网卡配置文件:IPADDR=172.17.18.19   PREFIX=24
nmcli c modify ens37 ipv4.address 172.17.18.19/24
## 添加dns  实际修改的是网卡配置文件:DNS1=223.5.5.5
nmcli c modify ens37 ipv4.dns 223.5.5.5
## 添加第二个ip  实际修改的是网卡配置文件:IPADDR1=172.17.18.29   PREFIX1=24
nmcli c modify ens37 +ipv4.address 172.17.18.29/24
## 添加网卡
nmcli c add type ethernet ifname ens35 con-name ens35
nmcli connection  实战案例
网卡bond或team是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余、带宽扩容或负载均衡
常见的bond模式:
Mode=0(balance-rr)    表示负载分担
round-robin,需要交换机端也做端口聚合。
Mode=1(active-backup)     表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
Mode=2(balance-xor)     表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。
Mode=3(broadcast)     表示所有包从所有interface发出,这个不均衡,只有冗余机制…和交换机的聚合强制不协商方式配合。
Mode=4(802.3ad)     表示支持802.3ad协议,和交换机的聚合LACP方式配合。
Mode=5(balance-tlb)     根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slaveMode=6(balance-alb)    在5的tlb基础上增加了rlb。

----------------------------两块网卡绑定做bond6
# 1. 先备份原有网络配置文件
cp /etc/sysconfig/network-scripts/ifcfg-eno* .
# 2. 看一下当前有哪些网卡
[root@m01 ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 16d2cd29-5a42-4d84-91ba-eef9ac8e212a ethernet ens33
ens34 73058591-0684-482a-843f-d58630f02a29 ethernet ens34
# 3. 先创建一个bond类型的网卡,我们采用bond6
nmcli connection add con-name bond6 ifname bond6 type bond mode 6
# 4. 向新创建的bond6网卡添加两块实体网卡(就是上面看到的ens33、ens34),bond6作为主网卡
nmcli connection add con-name slave1 ifname ens33 type ethernet master bond6
nmcli connection add con-name slave2 ifname ens34 type ethernet master bond6
# 5. 修改bond6的信息:设置静态ip,地址为172.18.2.12,并且设置开机自启动,网关是172.18.2.254
nmcli connection modify bond6 ipv4.method manual connection.autoconnect yes ipv4.addresses 172.18.2.12 ipv4.gateway 172.18.2.254
# 6. 启动网卡。这时候我们就绑定成功了
nmcli connection up bond6

说明:
connection add       添加新的连接
con-name          连接名
type              设备类型
ifname           接口名

验证方法:断开ens33或ens34,断开一个,网络可以正常通信,就说明bond6做成功了注意:如果做bond0的话,在vmware workstation虚拟机中做就会出现适配器不具有网络连接的现象,但是bond0能够正常启动也能够正常使用,只不过没有起到备份模式的效果。当使用ifdown eth0后,网络出现不通现象。这和VMware的工作方式以及内核获取mac地址的方式有关。不用纠结这个。

-------------------------------两块网卡做team绑定team和bond一样是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量。team不同于bond技术,team提供更好的性能和扩展性。team由内核驱动和teamd守护进程实现。

team的模式:
1. broadcast 
2. roundrobin 
3. activebackup 
4. loadbalance 
5. lacp

# 1. 创建一个网卡team0,同时会自动生成相应的配置文件
nmcli connection add type team ifname team0 con-name team0 config '{"runner": {"name": "activebackup"}}'
# 2. 配置team0的ip地址
nmcli connection modify team0 ipv4.addresses '10.0.0.7/24'
# 3. 这是team0的网卡ip为静态配置
nmcli connection modify team0 ipv4.method manual
# 4. 把ens33、34网卡绑定到team0上
nmcli connection add type team-slave ifname ens33 con-name ens33 master team0
nmcli connection add type team-slave ifname ens34 con-name ens34 master team0
# 5. 启动网卡
nmcli connection up team0nmcli connection up ens33nmcli connection up ens34
# 6. 查看连接状态
teamdctl team0 stat
# 返回结果有link summary: up就说明成功了,然后测试连通性就可以了。
nmcli device
格式:
nmcli device {status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp} [ARGUMENTS...]
示例:
# 查看所有网络设备详情
nmcli d show
# 查看网络设备连接状态
nmcli d status
# 禁用网卡防止被激活
nmcli d disconnect ens34

CentOS 7 添加永久路由的方法及相关命令

Jackie阅读(335)

要在 CentOS 7 中添加永久路由,可以进行以下步骤:

  1. 确定需要添加的目标网络和网关地址,以及子网掩码。
  2. 打开终端并以 root 用户身份登录。
  3. 执行以下命令将需要添加的路由配置写入到 /etc/sysconfig/network-scripts/route-interface 文件中(其中 interface 是需要添加路由的网卡名称):
复制代码# vi /etc/sysconfig/network-scripts/route-interface

例如要添加默认路由,可执行以下命令:

复制代码# echo "default via [网关地址]" > /etc/sysconfig/network-scripts/route-[网卡名称]

如果需要添加其他路由,可以执行类似以下格式的命令:

复制代码# echo "[目标网络地址] via [网关地址] dev [网卡名称]" >> /etc/sysconfig/network-scripts/route-[网卡名称]
  1. 保存文件后退出编辑器,并重启网络服务:
复制代码# systemctl restart network
  1. 验证路由是否生效,可以通过执行以下命令查看已经添加的路由列表:
复制代码# ip route show

以上就是在 CentOS 7 中添加永久路由的基本操作步骤。需要注意的是,如果系统重新启动或重新连接时,永久路由设置会自动加载。

Linux策略路由及ip rule、ip route命令

Jackie阅读(242)

早期在管理Linux系统的网络时,常使用ifconfig及route之类的命令,不过如果你准备开始使用Linux强大的基于策略的路由机制,那么,就请不要使用这类工具了,因为这类工具根本无法用于功能强大的基于策略的路由机制,取而代之的工具是iproute。iproute这个软件在RedHat系列的Linux系统中是默认安装的,因此,你通常可以找到这个工具。如果真因为某些原因找不到这个软件,只要在使用Fedora或CentOS Linux时,在联网的情况下,用yum install iproute命令即可顺利安装;或者也可以使用ip -V命令来检查iproute软件是否已经安装,再次请注意,-V参数为大写的英语字母:

[root@localhost /]# ip -V  
ip utility, iproute2-ss091226 

一、管理策略数据库

在Linux下,基于策略路由的策略数据库是由ip命令来管理的,下面讨论“管理”的几个方面:

1、查看策略数据库

要查看策略数据库的内容,可以使用ip rule show命令,或者可以使用ip rule ls。如下是命令执行后所得到的输出结果,在这些数据中,可以看到系统的三条默认规则,而这三条规则默认分别对应于local、mail及default三个路由表。

[root@localhost /]# ip rule show  
0: from all lookup local  
32766: from all lookup main  
32767: from all lookup default 

2、添加规则

在添加规则时,必须先确定好“条件”、“优先级别”及“路由表ID”,此后才可以执行添加规则的操作。

条件

条件是用来决定哪类数据包可以符合这项规则,而可用来匹配的字段为Source IP、Destination IP、Type of Service、fwmark及dev等,这些字段的使用方式如下:

Source IP

根据来源端IP来决定数据包参考哪个路由表发送出去。以下两个示例分别指出,如果数据包的来源端IP是192.168.1.10,就参考路由表10;如果来源端IP为192.168.2.0/24网段的IP,就参考路由表20。

ip rule add from 192.168.1.10 table 10  
ip rule add from 192.168.2.0/24 table 20 

Destination IP

根据目的端IP来决定数据包参考哪个路由表发送出去。以下两个示例分别指出,如果数据包的目的端IP是168.95.1.1,就参考路由表10;如果目的端IP是168.95.0.0/24网段的IP,就参考路由表20。

ip rule add to 168.95.1.1 table 10  
ip rule add to 168.96.0.0/24 table 20 

fwmark

将fwmark作为匹配条件时,必须搭配Netfilter一起使用, 这看起来很麻烦, 却是最灵活的匹配条件。如图10-8所示,某公司对外有三条ADSL,我们希望所有HT T P 协议经由第一条ADS L ,SMTP及POP3经由第二条ADSL,其余流量则经由第三条ADSL。可以使用如下的命令组合来达到这样的目的:

iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 80 -j MARK --set-mark 1  
iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 25 -j MARK --set-mark 2  
iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 110 -j MARK --set-mark 2  
iptables -t mangle -A FORWARD -i eth3 -j MARK --set-mark 3  
ip rule add fwmark 1 table 1  
ip rule add fwmark 2 table 2  
ip rule add fwmark 3 table 3 

首先使用Netfilter的managle机制针对特定的数据包设置MARK值,在此将HTTP数据包的MARK值设置为1,SMTP及POP3数据包的MARK值设置为2,其余数据包则设置MARK值为3。接着,再根据fwmark条件来判断数据包的MARK值,如果MARK值为1,则参考路由表1将数据包送出;MAKR值为2时,则参考路由表2将数据包送出;最后,MARK值为3的数据包则参考路由表3送出。

以上示例只是一个概念而已,如果真要完整体现出这个示例的所有功能,还需要注意许多细节,稍后将使用详细的示例讲解这部分内容,在此只要首先了解fwmark与Netfilter结合使用的概念即可。

dev

最后,还可以使用数据包输入的接口来作为判断依据,如图10-9所示,我们希望凡是由eth2接口送入的数据包都由eth0接口转发出去,由eth3接口送入的数据包都由eth1接口转发出去。以下命令组合将能满足我们的要求:

ip rule add dev eth2 table 1  
ip rule add dev eth3 table 3 

3、优先级别

前面介绍了规则中“条件”的使用方式,接下来要讨论的是优先级别。优先级别用数字来表示,其范围可由0~4亿多,堪称天文数字,我们实际上不可能在一台PC上设置如此庞大的路由机制。

[root@localhost ~]# ip rule show  
0: from all lookup local  
32766: from all lookup main  
32767: from all lookup default  
[root@localhost ~]#  
[root@localhost ~]# ip rule add from 192.168.1.0/24 table 1  
[root@localhost ~]# ip rule add from 192.168.2.0/24 table 2  
[root@localhost ~]#  
[root@localhost ~]# ip rule show  
0: from all lookup local  
32764: from 192.168.2.0/24 lookup 2  
32765: from 192.168.1.0/24 lookup 1  
32766: from all lookup main  
32767: from all lookup default 

如以上示例,我们执行ip rule show命令所显示内容的第一个字段就是优先级别,数字越小,代表优先级别越高,也代表这条规则可以排得越靠前,如此数据包在进行条件匹配时,就会越早匹配到这条规则,从输出的数据中,默认优先级别0、32766及32767已被占用,因此,在添加规则时,如果没有特别设置优先级别,那么,优先级别默认会从32766开始递减,如32765、32764……,如果我们需要特别设置优先级别,可以在ip rule add命令的最后加上prio XXX参数。如下例所示:

[root@localhost ~]# ip rule show  
0: from all lookup local  
32766: from all lookup main  
32767: from all lookup default  
[root@localhost ~]#  
[root@localhost ~]# ip rule add from 192.168.1.0/24 table 1 prio 10  
[root@localhost ~]# ip rule add from 192.168.2.0/24 table 2 prio 20  
[root@localhost ~]#  
[root@localhost ~]# ip rule show  
0: from all lookup local  
10: from 192.168.1.0/24 lookup 1  
20: from 192.168.2.0/24 lookup 2  
32766: from all lookup main  
32767: from all lookup default 

路由表ID

在Linux的基于策略的路由中,路由表用ID来表示,但如有必要,还可以用ID与名称对照表将ID转换成名称。

4、删除规则

ip命令提供的删除规则的方式十分灵活,例如,要删除下列第2条规则,可以分别使用“优先级别”、“条件”及“路由表”当中任何一个唯一的值来设置所需删除的规则,如下:

ip rule del prio 10
ip rule del from 192.168.1.0/24
ip rule del table 1
ip rule del from 192.168.1.0/24 table 1 prio 10
[root@localhost ~]# ip rule show  
0: from all lookup local  
10: from 192.168.1.0/24 lookup 1  
20: from 192.168.2.0/24 lookup 2  
32766: from all lookup main  
32767: from all lookup default  
[root@localhost ~]# 

二、路由表管理

由于route -n命令已经完全不适合在基于策略的路由使用,因此,route命令仅能操作一个特定的路由表,但在基于策略的路由中,会同时存在多个路由表,请放弃这个路由管理工具,取而代之的依然是ip命令。接下来将讨论如何使用ip命令来管理路由表。

1、查看路由表内容

在查看路由表之前,首先使用ip rule show命令来查看目前使用了哪些路由表,接着,再使用ip route show [table id | name]命令来查看路由表的内容。例如,可以使用ip route showtable main来查看路由表main的内容,如果省略路由表名称(如ip route show),会默认地查看路由表main的内容。

[root@localhost /]# ip rule show  
0: from all lookup local  
32766: from all lookup main  
32767: from all lookup default  
[root@localhost /]#  
[root@localhost /]# ip route show table main  
10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46  
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10  
default via 10.10.15.1 dev eth0  
[root@localhost /]# 

在默认情况下,系统有三个路由表,这三个路由表的功能如下:

local:路由表local包含本机路由及广播信息。例如,在本机上执行ssh 127.0.0.1时,就会参考这份路由表的内容,在正常情况下,只要配置好网卡的网络设置,就会自动生成local路由表的内容,我们应该也不必修改其内容。

main:使用传统命令route -n所看到的路由表就是main的内容。Linux系统在默认情况下使用这份路由表的内容来传输数据包,因此,其内容极为重要,在正常情况下,只要配置好网卡的网络设置,就会自动生成main路由表的内容。

default:最后是default路由表,这个路由表在默认情况下内容为空;除非有特别的要求,否则保持其内容为空即可。

在此使用路由表main的内容进行解释,以下是图10-10路由表main的内容,因为在主机上有eth0及eth1两块网卡,且为其设置的IP分别是10.10.15.46/25及192.168.1.10/24,因此,路由表内的第.行即是告诉系统,如果有数据包要送到10.10.15.0/25这个网段,就直接将数据包由eth0接口送出即可,而本机临近这个网段的IP是10.10.15.46,第.行则是设置到192.168.1.0/24的路由,其含义与第.行完全相同;以上这两行是只要将计算机网卡上的IP设置好,并在网络服务重启之后,默认就会生成的路由,无需特别的设置。最后一行.则指:如果数据包不是送往10.10.15.0/25及192.168.1.0/24网段,那么数据包将统一转发给10.10.15.1主机去处理,而10.10.15.1就是我们在网络配置中所设置的“默认网关”。

[root@localhost /]# ip route show table main  
10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46 
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10   
default via 10.10.15.1 dev eth0  
[root@localhost /]# 

2、添加路由

添加路由在此还是一样采用ip命令而不是route命令,下例首先使用ip route show.命令显示路由表main的内容,接着再使用ip route add命令将所需的路由添加到路由表main中.,最后再次使用ip route show命令将路由表main的内容打印出来,此时就可以在路由表main之中看到刚才添加的路由了。

[root@localhost /]# ip route show table main  
10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46  
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10  
default via 10.10.15.1 dev eth0  
[root@localhost /]#  
[root@localhost /]# ip route add 192.168.2.0/24 via 10.10.15.50 table main  
[root@localhost /]#  
[root@localhost /]# ip route show table main   
10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46  
192.168.2.0/24 via 10.10.15.50 dev eth0  
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10  
default via 10.10.15.1 dev eth0  
[root@localhost /]# 

如果要添加的路由并未出现在现有的路由表中,又该如何处理呢?在此请先有一个概念,单纯添加路由表并无意义,因为新增出来的路由表,系统默认是不会去使用的,如果要将路由添加到main以外的路由表,只有先添加“规则”才能确定新的路由表名称(Table ID),有了新的路由表之后,才会把路由添加到新的路由表中。

我们使用下列示例来说明这个过程。首先使用ip rule show.来查询RPDB的当前状态,可以看到目前只有三条默认规则,接着,再使用ip rule add命令来添加一条规则.,此时系统内就多了一个有用的路由表,其路由表ID为10,我们可以立即使用ip route show命令来查看这个新的路由表.,其内容默认为空,接着可以在这个新路由表中添加路由,在此使用iproute add命令来添加路由,我们决定凡是来自于192.168.2.0/24网段的数据包,都从eth1接口将数据包送离本机,因此,必须完整编写eth1接口的路由。首先将临近eth1接口的路由填入.,告诉系统本机与192.168.1.0/24网段的通信都通过eth1接口来处理,接着填入这个路由表的默认路由.,最后使用ip route show命令显示路由表10的内容。

[root@localhost ~]# ip rule show   
0: from all lookup local  
32766: from all lookup main  
32767: from all lookup default  
[root@localhost ~]#  
[root@localhost ~]# ip rule add from 192.168.2.0/24 table 10   
[root@localhost ~]#  
[root@localhost ~]# ip route show table 10   
[root@localhost ~]#  
[root@localhost ~]# ip route add 192.168.1.0/24 dev eth1 table 10   
[root@localhost ~]# ip route add default via 192.168.1.254 table 10   
[root@localhost ~]#  
[root@localhost ~]# ip route show table 10   
192.168.1.0/24 dev eth1 scope link  
default via 192.168.1.254 dev eth1  
[root@localhost ~]# 

3、删除路由

可以使用ip命令来方便地删除路由,我们使用以下示例来说明如何删除路由。首先将路由表10的内容显示出来.,可以看到路由表10中当前有两条路由,接着使用ip route del命令删除默认路由.,在此别忘了指定我们所要删除的是路由表10,否则默认会删除路由表main的默认路由,接着再使用ip route show 命令查看路由表10.,此时路由表10的默认路由已经不存在了,再次使用ip route del命令删除192.168.122.0/24的路由.,最后可以看到路由表10中已经没有任何路由了。

[root@localhost ~]# ip route show table 10   
192.168.1.0/24 dev virbr0 scope link  
default via 192.168.1.254 dev eth1  
[root@localhost ~]#  
[root@localhost ~]# ip route del default table 10   
[root@localhost ~]#  
[root@localhost ~]# ip route show table 10   
192.168.1.0/24 dev virbr0 scope link  
[root@localhost ~]#  
[root@localhost ~]# ip route del 192.168.1.0/24 table 10   
[root@localhost ~]#  
[root@localhost ~]# ip route show table 10   
[root@localhost ~]# 

CentOS7双网卡双IP双网关配置

Jackie阅读(750)

最近,有个需求是要在服务器上配置双网卡、双IP、双网卡,那就不多说了,开干吧。

一、操作系统

OS:CentOS

IP1:10.3.3.25 / Gateway: 10.3.3.1 / MASK: 255.255.255.0
IP2:10.2.2.10 / Gateway: 10.2.2.1 / MASK: 255.255.255.0

二、配置双网卡、双IP

先要配置两个网卡的IP,并确定一个正常情况下的默认网关,本例以网卡1的网关10.3.3.1为默认网关,后续SSH要连接网卡1的IP。

1、eth0: //配置网卡1

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.3.3.25
NETMASK=255.255.255.0
GATEWAY=10.3.3.1
DNS1=8.8.8.8

2、eth1: //配置网卡2

vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.2.2.10
NETMASK=255.255.255.0
#GATEWAY=10.2.2.1  //网卡2的网关注释掉了,后面有处理方法
DNS1=8.8.8.8

3、重启网络服务

# service network restart

Shuttingdowninterface eth0:                              [  OK  ]
Shuttingdowninterface eth1:                              [  OK  ]
Shuttingdownloopbackinterface:                          [  OK  ]
Bringinguploopbackinterface:                            [  OK  ]
Bringingupinterface eth0:  Determiningif ipaddress 10.3.3.25 is alreadyin use for deviceeth0...
                                                          [  OK  ]
Bringingupinterface eth1:  Determiningif ipaddress 10.2.2.10 is alreadyin use for deviceeth1...
                                                          [  OK  ]

如果这时候,你的SSH没有掉线,那么配置IP这事儿就完毕了,随便找个什么IP PING一下试试,比如8.8.8.8

三、配置双网关

接下来,增加两个路由表,为后续的双网关做点小准备

vim  /etc/iproute2/rt_tables
252 e1 
251 e0

接下来手动添加静态路由规则,可以理解为,让哪里进来的,就从哪里出去,而本机出去的呢,走默认网关10.3.3.1……

ip route flush table e0
ip route add default via 10.3.3.1 dev eth0 src 10.3.3.25 table e0                   
ip route add 127.0.0.0/8 dev lo table e0
ip rule add from 10.3.3.25 table e0           
ip route flush table e1
ip route add default via 10.2.2.1 dev eth1 src 10.2.2.10 table e1                     
ip route add 127.0.0.0/8 dev lo table e1
ip rule add from 10.2.2.10 table e1 

这时,从外围测试一下PING网卡2的IP,应该就能通了,而之前都是超时的……
不过大家要注意了:这个路由设置默认情况下重启就没了,所以要做点措施预防。

四、启动生效

vim /etc/rc.local

在文件的最后添加静态路由规则:

ip route flush table e0
ip route add default via 10.3.3.1 dev eth0 src 10.3.3.25 table e0                   
ip route add 127.0.0.0/8 dev lo table e0
ip rule add from 10.3.3.25 table e0           
ip route flush table e1
ip route add default via 10.2.2.1 dev eth1 src 10.2.2.10 table e1                     
ip route add 127.0.0.0/8 dev lo table e1
ip rule add from 10.2.2.10 table e1 

至此,所有配置完成

经测试,这种方式配置的双网卡规则,本机与局域网其他主机,通过内网 ip ping不通,那我们就换种方式配置下,请看下一篇博文

CentOS7双网卡配置一个上外网一个接内网 – 裕普网络-裕普网络 (ncyupu.com)

CentOS7双网卡配置一个上外网一个接内网

Jackie阅读(572)

一、配置讲解

1、配置DNS

修改对应网卡的DNS的配置文件

# vi /etc/resolv.conf

修改以下内容,可以设置多个:

nameserver 202.106.0.20
nameserver 114.114.114.114
nameserver 8.8.8.8

2、配置外网网卡的网关 修改网关的配置文件

[root@centos]# vi /etc/sysconfig/network
修改以下内容
NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)
HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
GATEWAY=192.168.1.1(注意:这里需要配置为外网网卡的网关)

3、配置IP地址

修改对应网卡的IP地址的配置文件

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

修改以下内容

DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0,Dell服务器的一般为:em1、em2
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址

GATEWAY=        #注意:外网网卡必须填写网关,但是内网网卡这里必须为空,否则两个网卡同时启用后上不了外网
IPV6INIT=no
IPV6_AUTOCONF=no
NETMASK=255.255.255.0 #网卡对应的网络掩码
NETWORK=192.168.1.0 #网卡对应的网络地址
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备

注意:在网卡的IP地址对应的配置文件中,如果配置的是外网的网卡对应得配置文件,那么,GATEWAY必须要填写,如果配置的是内网的网卡对应的配置文件,那么,GATEWAY必须为空,或者注释掉此项。

4、重新启动网络配置

# service network restart
或
# /etc/init.d/network restart

二、配置实战

1、系统与IP设置

OS:CentOS 6.5

IP1:10.3.3.34 / Gateway: 10.3.3.1 / MASK: 255.255.255.0
IP2:10.2.2.95 / Gateway: 10.2.2.1 / MASK: 255.255.255.0

通过ifconfig命令查看具体信息如下:

[root@v1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:15:5D:02:16:00  
          inet addr:10.3.3.34  Bcast:10.3.3.255  Mask:255.255.255.0
          inet6 addr: fe80::215:5dff:fe02:1600/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:91723 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48020 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:63371661 (60.4 MiB)  TX bytes:5979057 (5.7 MiB)

eth1      Link encap:Ethernet  HWaddr 00:15:5D:02:16:15  
          inet addr:10.2.2.95  Bcast:10.2.2.255  Mask:255.255.255.0
          inet6 addr: fe80::215:5dff:fe02:1615/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:570504 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2849 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:97709676 (93.1 MiB)  TX bytes:603377 (589.2 KiB)

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:16436  Metric:1
          RX packets:148 errors:0 dropped:0 overruns:0 frame:0
          TX packets:148 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:12832 (12.5 KiB)  TX bytes:12832 (12.5 KiB)

这里,我们定义10.2.2.0网段为外网,10.3.3.0网段为内网。

2、配置DNS

修改对应网卡的DNS的配置文件

# vi /etc/resolv.conf 

修改以下内容,可以设置多个:

nameserver 202.106.0.20
nameserver 114.114.114.114
nameserver 8.8.8.8

3、配置外网网卡的网关 修改网关的配置文件

[root@centos]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos
NTPSERVERARGS=iburst
GATEWAY=10.2.2.1

4、配置IP地址

4.1 配置内网对应的IP地址

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

DEVICE=eth0
TYPE=Ethernet
UUID=796d2afc-01ca-4a35-830e-25f9a8f024f3
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.3.3.34
BROADCAST=10.3.3.255
NETMASK=255.255.255.0
#GATEWAY=10.3.3.1
HWADDR=00:15:5D:02:16:00
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
DNS1=8.8.8.8

注意:配置内网的时候,把GATEWAY这一项注释掉了。

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
TYPE=Ethernet
UUID=7696cebd-7c30-454a-88a8-473275511dde
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.2.2.95
GATEWAY=10.2.2.1
BROADCAST=10.2.2.255
NETMASK=255.255.255.0
NETWORK=10.2.2.0
HWADDR=00:15:5D:02:16:15
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
DNS1=8.8.8.8

注意:外网的配置,必须配置GATEWAY这一项

5、重新启动网络配置

# service network restart
或
# /etc/init.d/network restart

搞定。

如何在公司内网搭建YUM仓库镜像源

Jackie阅读(585)

1.首先安装一个web服务器来作为yum源的服务器。例如Apache、Nginx等web服务器都可以作为yum源的服务器。
2.然后安装createrepo工具来生成yum仓库元数据。在Linux系统上,您可以通过运行命令sudo yum install createrepo来安装该工具。
3.在yum源服务器上创建一个新目录,比如/var/www/html/yumrepo,并使用createrepo命令来初始化该目录,生成yum仓库的清单元数据。运行命令createrepo /var/www/html/yumrepo。
4.将需要安装的软件包上传到刚才创建的yum源目录中。您可以从公共yum源或官方软件源下载rpm文件并将其复制到/var/www/html/yumrepo目录中。
5.配置客户端yum源文件,使其指向您的新yum源,而不是默认的公共yum源。在客户端机器上打开yum配置文件,该文件通常位于/etc/yum.repos.d/目录中,然后编辑配置文件,将baseurl设置为指向您的私有yum仓库。

本例以Centos7.9系统为例,服务端IP地址为A,客户端IP地址为B。

一、在服务端上:需要创建Yum仓库,通过配置WEB服务器或FTP服务器来把Yum仓库分享给局域网内其它Linux机器使用。

(1)环境准备

1. 关闭selinux
   sestatus
   vi /etc/selinus/config      #SELINUX 修改为 disabled, 需重启机器才生效
2. 关闭防火墙
   firewall-cmd --state
   systemctl stop firewalld    #停止firewall
   systemctl disable firewalld #禁用 firewall 开机启动

(2)导入rpm包,生成索引文件。

在本例中,以镜像包的方式导入rpm包。
1. 挂载磁盘镜像/epel镜像
   mkdir -p /media/cdrom
   mkdir -p /media/cdrom-epel
   mount -o loop -t iso9660 /home/bk_offline_repo-7.5.1804.iso  /media/cdrom-epel
   mount -o loop -t iso9660 /home/CentOS-7-x86_64-DVD-1810.iso  /media/cdrom
2. 复制rpm包至/yum/Packages
   cd /media/cdrom
   cp -R Packages/ /yum/
   unalias cp
   cd /media/cdrom-epel
   cp -rf *.rpm /yum/Packages/
   alias cp='cp -i'
3. 按照先后顺序执行以下命令,不然会报错缺少依赖包。
   rpm -ivh  deltarpm-3.6-3.el7.x86_64.rpm
   rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm 
   rpm -ivh libxml2-2.9.1-6.el7_2.3.x86_64.rpm
   rpm -ivh libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
   rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm    #createrepo主要是为后续生成仓库数据使用
4. 创建仓库数据,建立索引 
   createrepo -v /yum  #运行完成后会生成repodata文件夹
5. 在/etc/yum.repos.d/目录下创建一个名为 local.repo文件,其中包含所有的yum信息
   原目录下的文件备份至其它位置,如yum.repos.d.bak
   vi /etc/yum.repos.d/local.repo
   [localrepo] #注意,该地方不能有空格,不然后续执行 yum repolist all时会报错
   repolist:0   
   name=local-yum  
   baseurl=file://yum      # file://告诉yum为本地仓库,/xtkyum为绝对路径
   enabled=1
   gpgcheck=0 #关闭rpm包的gpg校验功能;个人环境,建议关闭,参数值为0;生产环境,建议打开,参数值为1。
   保存退出。
6. yum clean all #清理缓存
   yum repolist all #检查仓库列表,在列表中能看到localrepo
7. 测试能否成功安装。
   yum -y install gcc
   yum -y install ntp

(3)配置web或http分享yum仓库。

>>>使用ftp服务器(vsftpd)分享yum仓库
1. yum -y install vsftpd  
2. 把yum仓库下的文件拷贝到vsftpd的默认根目录 /var/ftp/pub,包括repodate
   cd /yum
   cp -R Packages /var/ftp/pub
   cp -R repodate /var/ftp/pub
   chmod 755 -R /var/ftp/pub
3. systemctl restart vsftpd
   systemctl status vsftpd
     
>>>使用web服务器(apache)分享yum仓库
1. yum -y install httpd 
2. 把yum仓库下的文件拷贝到默认根目录 /var/www/html/,包括repodate
   cd /yum
   cp -R Packages /var/www/html
   cp -R repodate /var/www/html
   chmod 755 -R /var/www/html
3. systemctl restart httpd
   systemctl status httpd

二、在客户端上:创建repo配置文件,测试yum仓库是否能正常使用。

1. 在/etc/yum.repos.d/目录下创建一个名为 local.repo文件,其中包含所有的yum信息
   原目录下的文件备份至其它位置,如yum.repos.d.bak

2. vi local.repo (ftp)
[localrepo]
name=localyum
baseurl=ftp://服务器ip地址A/pub/
enabled=1
gpgcheck=0
保存后退出
>>>如果是web服务器,baseurl修改成:baseurl=http://服务器IP地址A

3. 最后,测试客户端是否可以成功连接到您的私有yum源,并从中下载安装包。您可以尝试运行yum命令,例如sudo yum update或者sudo yum install package_name进行测试。

Centos7下关闭防火墙和selinux

Jackie阅读(328)

Centos7下关闭防火墙和selinux

1:查看防火状态

systemctl status firewalld

或者 service  iptables status

2:暂时关闭防火墙

systemctl stop firewalld

或者 service  iptables stop

3:永久关闭防火墙

systemctl disable firewalld

或者 chkconfig iptables off

4:重启防火墙

systemctl enable firewalld

或者 service iptables restart  

关闭selinux

1.使用

vim /etc/sysconfig/selinux

2.将SELINUX=enforcing改为SELINUX=disabled。

3.修改完成后,重启计算机reboot

裕普网络 一个IT运维相关的网站

官方网站联系我们