Linux网络设置及DHCP
·
Linux网络设置及DHCP
一、Linux网络设置基础命令
1、ifconfig
ifconfig 查看本机所有正在运行的网络设备
设备名 //查看指定设备
-a:查看所有网络设备(包括不再运行的网卡)
-s:查看网络通讯情况
ifconfig 设备名 up //打开指定设备 =ifup 设备名
ifconfig 设备名 down //关闭指定设备 =ifdown 设备名
ifconfig ens33:0 192.168.147.30/24 //创建虚拟网卡
注意:如果关闭虚拟网卡,虚拟网卡会消失,无法再次打开
2、hostname
hostname 主机名 //临时修改主机名,su命令刷新生效,重启服务器失效
永久修改主机名:
vim /etc/hostname //修改配置文件
hostnamectl set-hostname 主机名 //命令修改,su刷新生效
3、route
[root@localhost ~]# route //显示路由表
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.147.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]# route -n //以数字形式显示路由表
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.147.2 0.0.0.0 UG 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.147.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
添加路由的方法:
add -net 网段地址/子网掩码 gw IP地址 dev 网卡名称(ens33)
添加静态路由和默认路由:
add -net 192.168.14.0/24 gw 192.168.147.100 dev ens33
route add default gw 192.168.147.100 dev ens33
删除添加的路由:
route del 192.168.14.0/24 gw 192.168.147.100
route del default gw 192.168.147.100
永久添加路由:
[root@localhost ~]# vim /etc/sysconfig/static-routes
any net any gw 192.168.147.100 //所有流量都从100转发
any net 192.168.14.0/24 gw 192.168.147.100 //14.0网段都走21网关服务器转发
:wq!
[root@localhost ~]# systemctl restart network
4、netstat
格式:
netstat [选项]
-a:显示主机中所有活动的网络连接信息
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听状态(Listen)的网络连接及端口信息
-t:查看TCP协议相关的信息
-u:显示UDP协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
例:
[root@localhost ~]# netstat -antp | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 59576/sshd
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 64605/sshd: root@pt
tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN 60712/sshd: root@pt
tcp 0 36 192.168.147.100:22 192.168.147.1:62318 ESTABLISHED 64605/sshd: root@pt
tcp 0 0 192.168.147.100:22 192.168.147.1:57348 ESTABLISHED 60712/sshd: root@pt
tcp6 0 0 :::22 :::* LISTEN 59576/sshd
tcp6 0 0 ::1:6010 :::* LISTEN 64605/sshd: root@pt
tcp6 0 0 ::1:6012 :::* LISTEN 60712/sshd: root@pt
[root@localhost ~]# netstat -antp | grep 22
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1648/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 59576/sshd
tcp 0 36 192.168.147.100:22 192.168.147.1:62318 ESTABLISHED 64605/sshd: root@pt
tcp 0 0 192.168.147.100:22 192.168.147.1:57348 ESTABLISHED 60712/sshd: root@pt
tcp6 0 0 :::22 :::* LISTEN 59576/sshd
5、ss
ss也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容
ss [选项]
-t:tcp协议相关
-u:udp协议相关
-w:裸套接字
-x:内核socket信息
-l:处于监听状态
-a:显示所有网络链接活动
-n:数字格式显示
-p:相关的程序及PID
例:
[root@localhost ~]# ss -antp | grep sshd
LISTEN 0 128 *:22 *:* users:(("sshd",pid=59576,fd=3))
LISTEN 0 128 127.0.0.1:6010 *:* users:(("sshd",pid=64605,fd=9))
LISTEN 0 128 127.0.0.1:6012 *:* users:(("sshd",pid=60712,fd=9))
ESTAB 0 36 192.168.147.100:22 192.168.147.1:62318 users:(("sshd",pid=64605,fd=3))
ESTAB 0 0 192.168.147.100:22 192.168.147.1:57348 users:(("sshd",pid=60712,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=59576,fd=4))
LISTEN 0 128 ::1:6010 :::* users:(("sshd",pid=64605,fd=8))
LISTEN 0 128 ::1:6012 :::* users:(("sshd",pid=60712,fd=8))
[root@localhost ~]# ss -antp | grep 22
LISTEN 0 5 192.168.122.1:53 *:* users:(("dnsmasq",pid=1648,fd=6))
LISTEN 0 128 *:22 *:* users:(("sshd",pid=59576,fd=3))
ESTAB 0 0 192.168.147.100:22 192.168.147.1:62318 users:(("sshd",pid=64605,fd=3))
ESTAB 0 0 192.168.147.100:22 192.168.147.1:57348 users:(("sshd",pid=60712,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=59576,fd=4))
6、ping
ping -c 数字 //指定ping的次数
-w 数字 //指定等待超时的次数
7、traceroute
traceroute IP地址或域名 //测试从当前主机到目的主机之间经过的节点
例:
traceroute 180.101.50.188
8、nslookup
nslookup 目标主机地址 [DNS服务器地址]
(正向解析,域名——>IP地址)
9、dig
[root@localhost ~]# dig www.baidu.com //将域名解析为IP地址,显示更多信息
; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54451
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 406 IN CNAME www.a.shifen.com.
www.a.shifen.com. 58 IN A 180.101.50.242
www.a.shifen.com. 58 IN A 180.101.50.188
;; Query time: 46 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 四 5月 18 19:06:33 CST 2023
;; MSG SIZE rcvd: 101
二、网络设置
1、网卡设置
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet //类型为以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static //IP地址获取形式,dhcp表示动态获取,static表示静态
DEFROUTE=yes //原本为no,修改为yes;表示开机自动启动
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 //设备名ens33
UUID=8237b057-d2f0-4c8c-a235-d8df458162da
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.147.100 //本机IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.147.2 //网关
DNS1=8.8.8.8 //IP地址的DNS服务器
:wq!
[root@localhost ~]# systemctl restart network
2、DNS解析地址的配置文件
[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
3、主机域IP地址进行映射的配置文件
[root@localhost ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
三、DHCP原理及配置
1、原理
DHCP(动态主机配置协议),专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
2、好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改lP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
3、分配方式
- 自动分配:分配到一个IP地址后永久使用
- 手动分配:由DHCP服务器管理员专门指定IP地址
- 动态分配:使用完后释放该IP,供其它客户机使用
4、DHCP租约过程
- 客户端搜索服务端 discover报文—dhcp服务器 方式:广播
- 服务端向客户端响应
- 我从地址池选一个可用的ip地址,打上标记,以offer广播的形式发出去
- 客户端request —服务端,第一个响应的客户端发
- ACK确认 提供可用的IP和租期信息
5、设置DHCP服务器并分配地址
[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@localhost dhcp]# vim dhcpd.conf
[root@localhost dhcp]# systemctl restart dhcpd
[root@localhost dhcp]# systemctl stop firewalld
[root@localhost dhcp]# setenforce 0
将两台虚拟机设置为仅主机模式
客户端配置(2号虚拟机)
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.147.101 netmask 255.255.255.0 broadcast 192.168.147.255 //原本地址为101
inet6 fe80::7127:f87a:135a:9530 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:82:f7:07 txqueuelen 1000 (Ethernet)
RX packets 24938 bytes 1941009 (1.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9176 bytes 1578896 (1.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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)
RX packets 56031578 bytes 61900219422 (57.6 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 56031578 bytes 61900219422 (57.6 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:53:76:9e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# systemctl restart network
验证
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.147.40 netmask 255.255.255.0 broadcast 192.168.147.255 //地址改变为40
inet6 fe80::7127:f87a:135a:9530 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:82:f7:07 txqueuelen 1000 (Ethernet)
RX packets 25169 bytes 1963436 (1.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9429 bytes 1613110 (1.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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)
RX packets 58798429 bytes 91769092952 (85.4 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58798429 bytes 91769092952 (85.4 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:53:76:9e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
四、给单机分配固定的 IP 地址
host hostname { #指定需要分配固定 IP地址的客户机名称
hardware ethernet 00:0c:29:f7:ef:23; #指定该主机的 MAC地址
fixed-address 192.168.147.200; #指定保留给该主机的 IP地址
}
更多推荐
已为社区贡献3条内容
所有评论(0)