在Ubuntu下开启IP转发的方法

IP地址分为公有ip地址和私有ip地址,Public Address是由INIC(internet network information center)负责的,这些IP地址分配给了注册并向INIC提出申请的组织机构。Private Address属于非注册地址,专门为组织内部使用。Private Address是不可能直接用来跟WAN通信的,要么利用帧来通信(FRE帧中继,HDLC,PPP),要么需要路由的转发(nat)功能把私有地址转换为公有地址才行。

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能。
在Ubuntu下开启IP转发的方法在Ubuntu下开启IP转发的方法

1、通过访问sysctl的内核ipv4.ip_forward来判断转发是否开启。

说明:现在有些网络已经普及ipv6的,所以下面的命令可以从ipv4改为ipv6即可

使用sysctl:

sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0

或者检查/proc下的文件:

cat /proc/sys/net/ipv4/ip_forward 0

ipv4转发没有开启 (值为 0)

2、启动IP转发

通过sysctl可以开启ipv4的转发功能 (无需重启):

sysctl -w net.ipv4.ip_forward=1

或者

echo 1 > /proc/sys/net/ipv4/ip_forward

这种设置只是暂时的,它的效果会随着计算机的重启而失效。

通过在/etc/sysctl.conf设置参数:

如果想使IP转发永久生效,就请修改/etc/sysctl.conf ,在这里可以增加一条net.ipv4.ip_forward = 1

/etc/sysctl.conf: net.ipv4.ip_forward = 1

如果ipv4转发项已被设为0那么你只需要将它改为1。

3、要想是更改生效,你需要执行以下指令:

sysctl -p /etc/sysctl.conf

红帽系列的发行版上可以通过重启网络服务使之生效:

service network restart

而在Debian/Ubuntu系列的发行版则用这样的命令:

#早期版本

/etc/init.d/procps.sh restart

#最新版本

/etc/init.d/procps restart

原文来自:http://www.linuxprobe.com/ubuntu-ip-forward.html

转载于:https://my.oschina.net/ssdlinux/blog/1549348

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值