在Ubuntu下开启IP转发的方法

Crq
Crq
Crq
1164
文章
0
评论
2024年11月5日17:28:28
评论
36 997字阅读3分19秒

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

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的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

weinxin
我的微信
这是我的微信扫一扫
Crq
  • 本文由 发表于 2024年11月5日17:28:28
  • 转载请注明:https://www.cncrq.com/11532.html
DevOps监控微服务的五原则 Linux教程

DevOps监控微服务的五原则

监控是微服务控制系统的关键部分,你的软件越复杂,那么你就越难了解其性能及问题排障。鉴于软件交付发生的巨大改变,监控系统同样需要进行彻底的改造,以便在微服务环境下表现更好。
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: