最近一直在准备学校的考试,很久没更博了。迟来的一篇关于linux联网的总结。
之前在安装zabbix监控软件的时候,要给自己的邮箱和微信发送告警,所以就对Linux联网做了一段时间的研究。
最近,师哥师姐准备毕业设计,又忘了Linux怎么联网了,帮他们连接好的同时,也复习了一遍。怕以后忘了,特地在这里备注笔记!
NAT模式
1、首先将eth1设置为NAT模式
2、查看NAT模式的IP网段和网关
从上面的图中可以看出来,linux的eth1的IP地址是192.168.40.*网段的一个IP地址
网关应该设置为192.168.40.2
3、去windows的适配器中查看NAT网卡的IPv4的各项设置(IP、网关、DNS)
因为NAT对应的网卡是VMnet1,所以查看VMnet1的IPv4网络信息
4、接下来就去linux中配置eth1网卡的IP
[root@dongdongyao ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.40.12
NETMASK=255.255.255.0
GATEWAY=192.168.40.2
DNS1=114.114.114.114
注意:上面linux的eth1网卡的DNS要跟windows中NAT的网卡的DNS一致
6、重启网卡eth1
[root@dongdongyao ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: Determining if ip address 172.16.12.21 is already in use for device eth0...
[ OK ]
Bringing up interface eth1: Determining if ip address 192.168.40.12 is already in use for device eth1...
[ OK ]
[root@dongdongyao ~]#
7、查看网关是否配置成功
[root@dongdongyao ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.40.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
172.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.40.2 0.0.0.0 UG 0 0 0 eth1 这里可以看到网关已经配置成功了
[root@dongdongyao ~]#
8、这时候再ping外网就可以了
[root@dongdongyao ~]# ping www.baidu.com
PING www.baidu.com (111.13.100.92) 56(84) bytes of data.
64 bytes from 111.13.100.92: icmp_seq=1 ttl=128 time=53.6 ms
64 bytes from 111.13.100.92: icmp_seq=2 ttl=128 time=45.1 ms
64 bytes from 111.13.100.92: icmp_seq=3 ttl=128 time=50.3 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 11770ms
rtt min/avg/max/mdev = 45.111/49.709/53.620/3.512 ms
[root@dongdongyao ~]#
报错排查点:
- 首先windows是否连上网
- NAT模式的linux中的网卡的IP是否是与windows是在同一网段
- 网关(默认路由)是否配置成功
- iptables
桥接模式实现Linux连接外网
1、首先新增一个网卡为桥接模式
如果出现这种报错的话
原因就是你的第一个桥接网卡模式选择的是自动,只要将自动改为指定的某一个就可以了(适配器中一个本地连接对应一个桥接网口)
2、查看该桥接网卡的网段(cmd中ipconfig或者适配器中查看都可以,如果适配器中是自动连接,没有显示真实的IP的话,就ipconfig)
将linux中该网卡对应的网口(eth1)的IP配置成相同网段,网关也是相同网段,在加上DNS,重启网口就可以了。
DEVICE=eth1 这里一定不要写错设备名
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.43.188
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
DNS1=114.114.114.114
小结:
其实相对来说,Linux连接外网不是很复杂
- 首先不论什么模式下,在Windows的网络适配器或者VMWare的虚拟网络编辑器中,找一下你使用的网卡(VMnet)的网段和下一跳IP地址,在Linux的网口配置文件中,相对应的配置上IP、GATEWEAY、DNS,在重启一下基本上就可以了
- 如果还不行的话,那么就是iptables和selinux没关了。
附:
我们在研究MySQL的时候,很多情况下进行通信的期间,都必须要将selinux关闭,selinux关闭之后需要重启主机才会生效,很多时候在给其他同学排错的时候,最后落脚点都在于selinux没有真正意义上的关闭,因为同学已经修改了selinux的config了,但是忘记重启了,就造成去查看selinux的配置文件的时候确实是disabled,但是selinux没有真正意义上的关闭的假象。所以推荐大家用getenforce命令查一下是不是真的关闭selinux了。如果命令的输出是enforcing的话,就赶快重启吧!