CentOS7配置路由转发

本文 PDF 版本:CentOS7配置路由转发.pdf

1.前言

在这篇文章,少延给大家介绍路由转发,作用是将一个网段数据报文转发到另一个网段啦。
为什么我要做路由转发?原因是,我使用台式机电脑跑虚拟机,为了方便笔记本连接虚拟机的IP。
我虚拟机NAT IP网段是和笔记本IP是不同网段的。当然,虚拟机系统配置网卡桥接,IP就同一个网段了。
那是可以直接连接的,但是台式机放在公司了,为了不节省公司网络IP(我总不能一个人占太多IP吧),所以需要配置一下转发。

作为转发机,是需要有两个网卡,一个设置NAT IP,一个设置桥接IP。

proxy-forward

2.转发机配置

开启转发:添加 net.ipv4.ip_forward = 1 到 /etc/sysctl.conf ,执行 sysctl -p 生效。
转发机是充当路由转发。使用iptables 或者 firewall 配置,都是可以的。选一种就行。

2.1.配置iptables路由转发

先安装iptables:

1
2
3
4
5
6
7
# 停用firewalld,启用iptables
systemctl stop firewalld
systemctl disable firewalld
yum install -y iptables-services iptables-devel
systemctl enable iptables
systemctl start iptables
systemctl status iptables

1
2
3
4
5
6
7
8
9
10
# 启用转发
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
# 添加nat
iptables -t nat -A POSTROUTING -j MASQUERADE

# 设置允许转发。默认是拒绝所有转发,-I 插入一下规则
iptables -I FORWARD -s 192.168.20.0/24 -j ACCEPT
iptables -I FORWARD -d 192.168.20.0/24 -j ACCEPT
service iptables save

2.2.配置firewall路由转发

centos7默认是使用firewall,也是可以配置的。

1
2
3
firewall-cmd --permanent --zone=public --add-masquerade
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface ens33 --protocol vrrp -j ACCEPT
firewall-cmd --reload

3.笔记本添加路由

1
2
3
4
5
6
7
8
9
10
11
12
# mac route命令添加路由
sudo route -n add -net 192.168.20.0 -netmask 255.255.255.0 192.168.1.90
# 有时候,添加了路由出现失效,比如睡眠后唤醒,可以删了重新加一下:
sudo route -n delete -net 192.168.20.0 -netmask 255.255.255.0 192.168.1.90

# 或者加一下alias 方便使用
vim .bash_profile # 添加:
alias addr='sudo route -n delete -net 192.168.20.0 -netmask 255.255.255.0 192.168.1.90 && sudo route -n add -net 192.168.20.0 -netmask 255.255.255.0 192.168.1.90'
source .bash_profile

# Windows route 命令添加路由
route add -p 192.168.20.0 mask 255.255.255.0 192.168.1.90

以上添加完路由,那么可以直接访问192.168.20.0/24 网段的虚拟机啦。

文章目录
  1. 1.前言
  2. 2.转发机配置
    1. 2.1.配置iptables路由转发
    2. 2.2.配置firewall路由转发
  3. 3.笔记本添加路由