前言
最近搬了办公室,换了ip,内外网需要重新配置,从头再看原来不成体系的的记录资料,很多细节地方一时半会记不起来就配置失败,故在此进行一次完整记录。
开始
1.主要思路:
设置内网网段走网卡enp0,网关是10.1.1.1,其余网段走网卡wlp1,网关是192.168.53.1;
2.首先,需要知道内外网ip和网关以及DNS(这里是虚构的,需要自己根据实际情况对号入座)
注意:在操作前请将你的网卡配置先备份一份,以便排查错误和恢复。
主机名:HostName
设定主机名# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
HOSTNAME=HOSTNAME
source /etc/hosts
内网网卡:enp0
ip:10.1.7.1
网关(预设路由):10.1.1.1
DNS:10.1.1.1
配置文件主要配置:# vim /etc/sysconfig/network-scripts/ifcfg-enp0
BOOTPROTO=static
DEFROUTE=no
NAME=HostName
DEVICE=enp0
ONBOOT=yes
DNS1=10.1.1.1
IPADDR=10.1.7.1
#GATEWAY=10.1.1.1 只能有一个默认路由,外网做默认路由,这里就注释掉,不然会冲突导致外网不能用
全部配置:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static 使用静态ip
DEFROUTE=no 是否设置为默认路由
IPV4_FAILURE_FATAL=no
IPV6INIT=no 是否初始化ipv6,主要使用外网网卡,故不用
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=HostName
#UUID=b20e80f1-c88d-4918-9d9b-75cd7906629e 每个人这个值都不一样
DEVICE=enp0
ONBOOT=yes
#HWADDR=C1:D2:FE:13:2C:56 硬体地址
PEERROUTES=no
DNS1=10.1.1.1
IPADDR=10.1.7.1
#GATEWAY=10.1.1.1
PREFIX=22 对应于子网掩码255.255.252.0
外网网卡(通过开热点连接,设置自动得到ip,也就是说,这个ip是可变的):wlp1
ip:192.168.53.24
网关(预设路由):192.168.53.1
DNS:192.168.53.1vim /etc/sysconfig/network-scripts/ifcfg-wlp1
配置文件主要配置:
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=wlp1
DEVICE=wlp1
ONBOOT=yes
GATEWAY=192.168.53.1
全部配置:
TYPE=Wireless
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp 自动获取ip地址
DEFROUTE=yes 启用为默认路由
IPV4_FAILURE_FATAL=no
IPV6INIT=yes 启用ipv6地址
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=wlp1
UUID=934e4e22-3431-4707-8d47-dca47e76f448
DEVICE=wlp1
ONBOOT=yes
HWADDR=48:CA:E7:72:BA:5A
PREFIX=24 对应255.255.255.0
PEERROUTES=no
NETMASK=255.255.255.0
GATEWAY=192.168.53.1
注意:对号入座!
3.配置好后可以连接相应的网络
(nmcli c reload
不起作用),需要一个个启动nmcli c up HostName
nmcli c up wlp1
连接后ip route list
可以发现只有一个默认路由
default via 192.168.53.1 dev wlp1 proto dhcp metric 600
如果有俩,那么其中一个会不可用
设定域名搜索和dns服务器搜索顺序,即决定先从哪个DNS解析,找不到才去下一个:vim /etc/resolv.conf
nameserver 192.168.53.1 包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。
nameserver 10.1.1.1
如果我要访问一个内网ip为10.1.75.2
我需要将它的网段加入到enp0的路由表:vim /etc/sysconfig/network-scripts/route-enp0
10.1.75.2/22 via 10.1.1.1
wq保存,你可能发现了。这个22就是之前网卡设定里的PREFIX=22
重启网卡enp0# nmcli connection down HostName
# nmcli connection up HostName
让我们来试试效果,
先ping www.baidu.com
ping www.baidu.com
PING www.a.shifen.com (36.152.44.96) 56(84) bytes of data.
64 bytes from 36.152.44.96 (36.152.44.96): icmp_seq=1 ttl=56 time=39.3 ms
64 bytes from 36.152.44.96 (36.152.44.96): icmp_seq=2 ttl=56 time=37.10 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 37.979/38.619/39.259/0.640 ms
连接外网成功!!
ping 10.1.75.2
PING 10.1.75.2 (10.1.7.2) 56(84) bytes of data.
64 bytes from 10.1.75.2: icmp_seq=1 ttl=128 time=1.61 ms
64 bytes from 10.1.75.2: icmp_seq=2 ttl=128 time=0.753 ms
64 bytes from 10.1.75.2: icmp_seq=3 ttl=128 time=0.701 ms
64 bytes from 10.1.75.2: icmp_seq=4 ttl=128 time=0.937 ms
64 bytes from 10.1.75.2: icmp_seq=5 ttl=128 time=0.764 ms
^C
— 10.1.75.2 ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 46ms
rtt min/avg/max/mdev = 0.701/0.952/1.607/0.337 ms
连接内网成功!!
后记
切换网关将会给工作带来很大的不便,有错误欢迎指出。:-)