linux开启路由转发功能
一、准备
- 需求:两台不同网段的主机通信
- 方案:另外启动一台服务器b,双网卡,一个网卡和服务器a通信,一个网卡和服务器c通信。a和c通信通过服务器b跳转。不要问我为什么不用路由器,因为我不会(doge)。
- 环境
3台服务器,a、b、c,
- a服务器:192.168.30.20/24
- b服务器:192.168.30.1/24,eth0; 192.168.40.1/24,eth1
- c服务器:192.168.40.20/24
目标:让a可以ping和ssh到c机器
二、操作过程
1.在b服务器上开启内核路由转发参数
临时生效:
echo "1" > /proc/sys/net/ipv4/ip_forward
永久生效的话,需要修改 /etc/sysctl.conf:
net.ipv4.ip_forward = 1
执行sysctl -p马上生效
2.b服务器开启iptables nat转发
iptables -t nat -a postrouting -s 192.168.30.0/24 -d 192.168.40.0/24 -o eth1 -j masquerade #配置源地址30网段,目标地址40网段的地址转换,从eth1网卡出。 iptables -t nat -a prerouting -s 192.168.40.0/24 -d 192.168.30.0/24 -o eth0 -j masquerade #配置源地址40网段,目标地址30网段的地址转换,从eth0网卡出。 永久保存:iptables-save > /etc/sysconfig/iptables
3.在a和c服务器上设置路由为b服务器ip
a: route add -net 192.168.40.0 netmask 255.255.255.0 gw 192.168.30.1 c: route add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.40.1
linux路由转发,实现不同网段的主机互通
使用vmware搭建环境
注:做为网关服务器,需要开启路由转发功能,开启方式有两种,一个临时,一个永久
心得:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论