linux端口转发设置无效,linux下nat转发失效

最近在进行对现网的机器进行KVM调整 。在使用过程中,发现在对一台机器新增一个公网IP以后,通过service network restart重启网络生效生,所有的nat配置失效 。kvm里安装的windows主机通过radmin无法连接。而在KVM物理机上ping 里面的虚拟机,发现网络是通的 。

起初以为问题出在KVM本身上,通过命令先查看下网络状态 。

[root@kvm3 ~]# virsh net-list

Name State Autostart Persistent

--------------------------------------------------

default active yes yes

[root@kvm3 ~]# brctl show

bridge name bridge id STP enabled interfaces

br0 8000.0026b949ae6e no eth0

br1 8000.0026b949ae70 no eth1

vnet1

vnet3

vnet5

virbr0 8000.5254003f3f47 yes virbr0-nic

vnet0

vnet2

vnet4

并未发现异常,接着查看路由[root@kvm3 ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

xxx.91.235.xxx * 255.255.255.248 U 0 0 0 br0

xxx.xxx.194.32 * 255.255.255.240 U 0 0 0 br0

192.168.8.0 * 255.255.255.0 U 0 0 0 br1

192.168.112.0 * 255.255.255.0 U 0 0 0 virbr0

link-local * 255.255.0.0 U 1006 0 0 br1

link-local * 255.255.0.0 U 1100 0 0 br0

default xxx.xxx.194.33 0.0.0.0 UG 0 0 0 br0

无奈试着重启下KVM主机

[root@kvm3 ~]# virsh reboot kvm3-host1

发现问题依旧。开始重新分析问题 ———— 公网访问正常,内部ping也正常。既然如此,问题出现在nat上,iptables的nat配置也未发生改变。将网卡的IP配置还原后,问题还是一样。应该是出现在nat的问题上了。抱着试试看的态度,查下路由转发:

[root@kvm3 ~]# cat /proc/sys/net/ipv4/ip_forward

0

发现其值竟然变成了0 ,问题终于找到了。先通过echo 1 > /proc/sys/net/ipv4/ip_forward 临时生效后,再通过公网nat连接虚拟机里的radmin和ssh 。一切又神奇的恢复了。

问题神奇了,重启个network服务不至于让该值变成0 ,改变再service network restart ,发现其值又变成了0 。再去/etc/sysctl.conf里看一下 ,真相大白于天下了。里面的默认配置用了0

# Controls IP packet forwarding

net.ipv4.ip_forward = 0

原来同事在安装完KVM后 ,并未做tcp/ip参数的优化,就连这个值也未改成永久生效  。接下来,将上面的值改成1 ,sysctl -p 生效。再去service network restart ,值还是1 。不过影响nat 转发了。长出了一口气,嗨…………

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值