第二周
网络互联
任务0:搭建项目模拟环境
- LinuxServer:双网卡(NAT)
- LnuxClient:单网卡(NAT)
- WindowsClient:单网卡(NAT)
VMWare基本操作(略)
任务1:配置网卡IP
LinuxServer
- 网卡1:192.168.11.254/24
- 网卡2:10.10.11.254/24
LinuxClient
- IP:192.168.11.10/24
- GateWay:192.168.11.254
WindowsClient
- IP: 10.10.11.10/24
- GateWay: 10.10.11.254/24
方法一:nmtui 图形化工具配置(略)
方法二:nmcli命令行配置
添加网络接口
nmcli con add con-name <网络接口名称> type <接口类型> ifname <网卡名称>
修改网络接口
nmcli con modify <网络接口名称> [选项] [参数]
- 常用选项和参数
ipv4.addresses x.x.x.x/x
,ipv4.method manual
,ipv4.gateway x.x.x.x
,ipv4.dns 'x.x.x.x, x.x.x.x'
- 常用选项和参数
- 启用(或重启)网络接口
nmcli con up <网络接口名称>
配置LinuxServer网卡
任务2:启动IP转发(临时,重启后失效)
功能:
- 财务部和技术支持部中的机器可透明的互相访问
实现方法:
临时生效
echo 1 > /proc/sys/net/ipv4/ip_forward
注意:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
,显示权限不够,无法执行
错误原因:
- bash 提示权限不够,是因为重定向符号 “>” 也是bash的命令,
sudo
只是让echo
命令具有了 root 权限,但是并没有让 “>” 命令也据有 root 权限,所以bash
会认为这个命令没有写入信息的权限。 解决方法:
sudo bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
- bash 提示权限不够,是因为重定向符号 “>” 也是bash的命令,
永久生效:
vim /etc/sysctl.d/ip_forward.conf
- 写入
net.ipv4.ip_forward = 1
- 写入
不重启系统刷新内核参数
如单独在
/etc/sysctl.d
下创建文件修改ip_forward, 使用sysctl -p
刷新时需要指定文件sysctl -p /etc/sysctl.d/ip_forward.conf
- 如直接在
/etc/sysctl.conf
中修改ip_forward
, 使用sysctl -p
刷新时可不指定文件
编写shell脚本
复习了上面的前置知识,肯定可以看懂下面的脚本了
#!/bin/bash
#1.setup connection
nmcli con add con-name net192 type ethernet ifname <网卡设备名> ipv4.addresses 192.168.11.254/24 ipv4.method manual autoconnect yes
nmcli con add con-name net10 type ethernet ifname <网卡设备名> ipv4.addresses 10.10.11.254/24 ipv4.method manual autoconnect yes
#2.up connection
nmcli con up net10
nmcli con up net192
#enable ipforward
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf
sysctl -p /etc/sysctl.d/ip_forward.conf
shell脚本完成了router(需要配置IP转发的机器)机器的配置工作,只需配置两个部门的机器的IP和GateWay即可完成网络互联。