阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在Ubuntu下开启IP转发的方法

89次阅读
没有评论

共计 1056 个字符,预计需要花费 3 分钟才能阅读完成。

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 转发的方法

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

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1056字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中