当A(公网)、B(私网)两个网络互不相通,且B网络里面的设备希望可以访问到A网络,则需要使用路由器来实现B网络访问A网络。
用来作为路由器的虚拟机至少需要两块网卡,其中一块网卡需要配置A网络的IP地址,并且能正常访问A网络。另外一张网卡则需要配置成为B网络的网关。
示例
配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里面的 IPADDR、GATEWAY、DNS等,必须保证可以正常访问A网络
配置 /etc/sysconfig/network-scripts/ifcfg-eth1 里面的 IPADDR、NETMASK等,这个范围所覆盖的IP将来可以访问A网络。其中,IPADDR将来会成为B网络的网关
修改完成后,执行命令systemctl restart network
执行命令:sysctl -a | grep ipv4 | grep forward
相关信息
sysctl -a
的作用是显示所有的内核参数
| grep ipv4 | grep forward
过滤关键词
结果中会出现net.ipv4.ip_forward = 0
或者net.ipv4.ip_forward = 1
如果上一步的结果出现的是net.ipv4.ip_forward = 0
,则表示没有开启。
执行命令:vim /etc/sysctl.conf
追加一行 net.ipv4.ip_forward = 1
,保存后退出
然后执行命令sysctl -p
,出现net.ipv4.ip_forward = 1
,则表示开启成功
相关信息
/etc/sysctl.conf
用于配置Linux系统内核参数,这些参数可以影响系统的各种行为,包括网络设置、进程控制、内存管理等
sysctl -p
的作用是使修改立即生效
执行命令:iptables -F
再执行命令:iptables -t nat -F
然后执行命令:iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
这里172.16.1.0/24表示来B网络的IP段,可根据实际的IP段修改
相关信息
iptables -F
作用是清空filter
表中的规则,不会清空nat
表
iptables -t nat -F
的作用是清空nat
表中的规则
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
配置了一个NAT
规则,-t nat
表示操作nat
表。-A POSTROUTING
表示在POSTROUTING
链上追加一条规则,POSTROUTING
链用于在数据包离开本地网络后进行处理。-s 172.16.1.0/24
匹配的数据包源地址。-j MASQUERADE
表示对符合条件的数据包进行地址伪装。整条规则的作用是对来自172.16.1.0/24
网段的数据包在离开本地网络时进行伪装(也就是离开B网络时进行伪装),使其看起来是来自网关设备IP的数据包
本文作者:枣子
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!