Linux主机添加路由和端口转发
环境(关闭防火墙和seLinux):

6A: CentOS6
7A 和 7B:CentOS 7
6A: 192.168.20.131/24
7B: 192.168.20.129/24 和 192.168.10.130/24
7A: 192.168.10.129/24
各主机上配置如下:
6A:
ip route add default via 192.168.20.129 //添加默认路由
7B:
echo 1 > /proc/sys/net/ipv4/ip_forward //开启转发功能
7A:
ip route add default via 192.168.10.130 //添加默认路由
ip add add 1.1.1.1/32 dev lo:0 //添加 loopback IP
测试过程:
7A 上 ping 192.168.20.131,结果正常,没有问题,因为 ICMP request 报文的源地址是 7A 的 interface ip,但若执行 ping -I 1.1.1.1 192.168.20.131 指明使用 1.1.1.1 为源IP发送 ICMP request,则无法 ping 通。在 vmnet1 上抓包,发现 ICMP request ,但在 vmnet2 上抓包,没有发现转发过来的 ICMP request。
在 7B 上通过 ip route add 1.1.1.1 via 192.168.10.129 添加到 7A 上 loopback 的路由后,再在 7A 上执行 ping -I 1.1.1.1 192.168.20.131 则可以 ping 通。由此推测 Linux 主机开启 ip_forward 后,若要转发某个报文,不仅仅要求该报文目的IP可达,源IP也要可达才行。可能是协议栈的设计者考虑到对于7B来说若发送方(本例中的1.1.1.1)不可达的情况下将报文转发给6A,该报文的响应报文到达7B后也是要丢弃的(因为1.1.1.1作为目的IP不可达),不如提前就丢弃。
原文作者:xiaohaiyinyu
来源:CSDN
原文:https://blog.csdn.net/xiaohaiyinyu/article/details/73656780
版权声明:本文为博主原创文章,转载请附上博文链接!
Linux主机添加路由和端口转发的更多相关文章
- [转载]Linux上使用ssl进行端口转发
原文地址:Linux上使用ssl进行端口转发 作者:呼延十 背景介绍 作为一个后端程序员,经常要和别人联调接口,每当这时,总是被公司的各种,dev,qa,pre,prod环境搞得头疼,,,我真的只是想 ...
- linux下安装haproxy作为端口转发服务器,以及安装keepalived作为haproxy高可用方案
一.安装haproxy作为端口转发服务器(主服务器:172.28.5.4,备服务器:172.28.5.8,浮点IP为:172.28.5.6) 1.安装依赖包 yum -y install wget g ...
- Linux SSH隧道技术(端口转发,socket代理)
动态转发(SOCKS5代理): 命令格式:ssh -D <local port> <SSH Server> ssh -fnND 0.0.0.0:20058 172.16.50. ...
- linux中nginx中配置端口转发
域名指向主机IP地址,通过域名:8080才能访问网站,去掉后面的8080:或者其他的端口号,直接使用域名访问网站 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处 ...
- Linux 服务器--Iptables 端口转发
日常Iptables 端口转发 需求:公司是局域网络,通过一个外网ip,进行互联网的访问.公司的云平台服务器在公网中,虚拟化平台中有一台内部服务器,用于公司某部门的使用,上面运行www 服务,ssh端 ...
- 使用IIS建立主机到虚拟机的端口转发
主机是笔记本电脑,通过一个TPLINK智能扩展卡,作为服务器供给手机APP当作服务器. 但真正的Web服务,在主机的VMWare Workstation虚拟机80端口. 那么主机和手机形成的网络为19 ...
- linux下最简单的端口转发工具
linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/ ...
- 【原创】Linux基础之SSH隧道/端口转发
格式 ssh -L <local port>:<remote host>:<remote port> <SSH servername> 示例 # ssh ...
- linux 下添加 路由
# yum install -y pptp pptp-setup 从 http://ip.line668.com/ip.php 看ip列表,找国外的ip. # pptpsetup --create ...
随机推荐
- window.frames[]在Firefox下无法兼容的解决方式
html代码段: <iframe id="fr" src="ProjectTree.aspx?IsFree=true&f=yes&IsCheckPr ...
- Loadrunner对https协议(单双向SSL)的web端性能测试
1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...
- 前端如何获取http状态码400的返回值
axios.get("/check_mobile_and_sent_code",{withCredentials:true,params:{mobile:formInline.mo ...
- Unity3D热更新LuaFramework入门实战
http://blog.sina.com.cn/s/blog_6788cd880102w8qy.html http://www.manew.com/thread-91845-1-1.html http ...
- JVM知识点总览-中高级Java工程师面试必备
对于搞开发的我们其实也是一样,现在流行的框架越来越多,封装的也越来越完善,各种框架可以搞定一切,几乎不用关注底层的实现,初级程序员只要熟悉基本的使用方法,便可以快速的开发上线:但对于高级程序员来讲,内 ...
- linux环境中,如何通过手动创建crontab文件的方式来设置crontab定时调度任务?
需求描述: 之前在创建定时任务的时候,都是通过cronab -e的方式进行创建,今天在做通过脚本部署定时任务的时候, 就想,通过crontab -e编辑的定时任务存放在哪个文件里,是否,可以手动的编辑 ...
- 关于修改linux hostname的问题,尤其是redhat 7修改hostname的方式
http://blog.csdn.net/the_conquer_zzy/article/details/68064149
- python 导入模块的坑。为什么整个项目能运行,单独运行某个文件模块就报错?多层目录不同文件夹怎么导入?
一些文章介绍了python不同目录怎么导入问题,但py文件运行起点却从来没有文章说过!这是相当重要的!! 这个连接是网上99%的所讲的导入 https://www.cnblogs.com/luoye0 ...
- linux系统调用函数---12
Linux应用编程学习笔记 周学伟 一.系统调用文件编程 1.文件打开函数 /*************************** ...
- 微信企业号OAuth2验证接口实例(使用SpringMVC)
微信企业号OAuth2验证接口(使用SpringMVC) 企业应用中的URL链接(包含自己定义菜单或者消息中的链接).能够通过OAuth2.0来获取员工的身份信息. 注意.此URL的域名,必须全然匹配 ...