A机器两块网卡ens33(192.168.111.136),ens37(192.168.1.1),ens33能够上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.1.100),和A机器的ens37能够通讯互联。
需求一:能够让B机器链接外网
A机器上添加一块新网卡,并加入LAN区段1
B机器上也添加一块新网卡,也加入LAN1区段,而且把原先的网卡设置为 启动时不链接
A机器上ifconfig 命令查看多出了一个新的网卡ens37
A机器上 ifconfig ens37 192.168.1.1/24 给新网卡设置IP
B机器上用ifconfig 命令查看也多了一块网卡ens37
B机器上给新网卡设置IP 而且和A机器的新网卡同一个网段
Ifconfig ens37 192.168.1.100/24
注意用命令ifdown ens33 关闭原先网卡ens33,否则可能会致使后面实验ping不一样A机器的ens33
A机器上打开路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forwardshell
[root@jinkai ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@jinkai ~]# cat !$
cat /proc/sys/net/ipv4/ip_forward
1
[root@jinkai ~]#网络
A机器上添加一条路由规则
MASQUERADE :地址假装tcp
[root@jinkai ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens33 -j MASQUERADEide
B机器:把A机器的ens37:192.168.1.1 设置为B机器的网关
route add default gw 192.168.1.13d
需求二:C机器只能和A机器通讯,让C机器能够直接连通B机器的22端口
这里C机器实验用xshell 替代链接B机器
这里先清除上一个实验的添加的防火墙规则,iptables -t nat -F,若是用iptables -F 是没法清空nat表的规则
A机器打开路由转发(上一个实验已经打开,这一步能够省略)
cat /proc/sys/net/ipv4/ip_forward
A机器从新添加两条规则
NAT:网络地址转换
DNAT:目标网络地址转换(公网访问私网,路由把数据包中目标地址192.168.1.100转换成公网能够识别到的地址192.168.111.136,进入内网通过PREROUTING链)
SNAT:源网络地址转换(私网访问公网,路由把数据包中源私网地址192.168.1.100转换成路由端口的能够访问公网的地址192.168.111.136,出去通过POSTROUTING链)rest
[root@jinkai ~]# iptables -t nat -A PREROUTING -d 192.168.111.136 -p tcp --dport 1122 -j DNAT --to 192.168.1.100:22
[root@jinkai ~]# iptables -t nat -A POSTROUTING -s 192.168.1.100 -j SNAT --to 192.168.111.136blog
B机器上设置A机器ens37:192.168.1.1 为B机器的网关(这一步上一个实验也已经设置能够省略)
C机器:Xshell上添加一个新的会话,主机名写A机器的ens33:192.168.111.136,端口号:1122(规则上映射到B机器22号端口)
链接成功,主机名为jinkai02 ,ens37地址为192.168.1.100,ip
保存:路由
service iptables save
将规则保存到/etc/sysconfig/iptablesit
备份:
iptables-save > my.ipt
将iptables的规则备份到my.ipt文件中
恢复备份规则
iptables-restore < my.ipt将文件中的规则恢复到iptables中