169it科技资讯


当前位置:  建站>运营/SEO
本页文章导读:
    ▪Windows配置路由时可以指定源地址啦      如果你的一块网卡上配置了多个IP地址,那么在数据包发出时会使用哪一个呢?在Linux上,使用iproute2工具可以设置src参数强制封装源地址:ip route add 1.2.3.4/32 via 4.3.2.1 src 3.3.3.3但是在Windows上,.........
    ▪centos安装vim7.4       系统版本centos6.4; root权限 su - root 卸载 yum remove vim vim-enhanced vim-common vim-minimal 下载、解压 $ wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2 $ wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz//网上的.........
    ▪S3C2410 实验三——块拷贝、字拷贝(寄存器的理解)       因为笔记做在 evernote 上,博客上就不再重新敲了。 http://www.evernote.com/shard/s307/sh/5bd591a1-dbbd-4457-812a-17c08c2234e1/7ffcd2b6a24f6ef4f930e85885de9ad1 作者:u011668290 发表于2013-8-18 16:42:56 原文链接 .........

[1]Windows配置路由时可以指定源地址啦
    来源: 互联网  发布时间: 2013-11-01
如果你的一块网卡上配置了多个IP地址,那么在数据包发出时会使用哪一个呢?在Linux上,使用iproute2工具可以设置src参数强制封装源地址:
ip route add 1.2.3.4/32 via 4.3.2.1 src 3.3.3.3
但是在Windows上,一切都是内部逻辑自动选择的,其原则如下:
单网卡时,选择和默认网关在同一网段的最匹配IP地址为源;
多网卡时,首先选择默认网关所在的网卡作为发送网卡,然而在该网卡上按照单网卡原则选择一个IP地址作为源。
因此,如果你的目标地址是1.2.3.4,默认网关是4.3.2.1,本地连接上两个IP地址:4.3.2.2和3.3.3.3,很显然,4.3.2.2会作为源IP地址被选择,这样在发包的时候,4.3.2.2将作为数据包的源IP地址。
        然而有时候为了实现自己的一些策略或者小技巧,并不希望系统为我如此自动地封装源IP地址,比如显而易见地是在使用OpenVPN的时候。那么怎么办呢?在《彻底征服Windows上OpenVPN客户端的源地址选择问题》http://blog.csdn.net/dog250/article/details/9823205中,我已经通过网桥接口的方式解决了这个问题,在不涉及双网卡或者多网卡的情形下,我的意思是在单网卡时(更加符合常见情况),任意选择源IP地址将是一个更加通用的问题了。可是怎么办到呢?其实也不难。
        首先我们看下所谓的默认网关的本质意义是什么。默认网关其实是一个更加特殊的“下一跳”,它其实就是一个下一跳地址,这个地址的目的在于将数据包扔给下一跳(废话),其实它只是一个辅助作用,真正起作用的是由它解析到的MAC地址,因为MAC地址才会真正封装在以太帧当中,那个默认网关只是用来得到这个MAC地址的,因此如果能静态指定一个MAC地址,那么这个默认网关可以是任意的。于是就有了一个办法:
1.为一条路由生成一个和欲选择的源IP地址在同一个网段的假的默认网关,即假的下一跳;
2.为该假网关IP地址建立一条静态的到真网关的MAC地址的arp映射;
如此一来,源IP地址的选择过程将完全符合Windows的选择逻辑,我们也就从内核外部绕开了它的限制,从而可以选择任意的本地连接上配置的地址作为源IP地址。
        为了将手工配置的过程实现成一个自动的过程,编程是必不可少的,然而我又不想去调用那复杂的API(为了实现一个很简单的功能不得不做超级多的准备工作...),只能寄希望于脚本了,然而Windows命令行功能实在太弱,很为难。问同事,百度,google,一遍遍地尝试,折腾了太久,终于写出一个批处理脚本,发现Windows XP的脚本功能还是很强大的,更不必说Power Shell了。脚本如下(没有echo off):
set destination=%1
set mask=%2
set origw=%3
set source=%4

::获取默认网关(可以自动发现默认网关,太花哨,不提倡)
:::GetGW
::set origw=
::for /f "delims=: tokens=2" %%i in ('"ipconfig | find /i "default gateway"| findstr  [0-9]."') do set origw=%%i

::获取默认网关的MAC地址
:GetMac
set mac=
for /f "skip=3 tokens=2" %%i in ('arp -a %origw%') do set mac=%%i
echo %mac%|findstr \-
::这里有个问题,实际上ping失败(比如网关禁止ping)也无所谓,我们需要的只是它的MAC地址
::如果连MAC地址都不让解析,那就别当默认网关了。因此正确的做法应该搞一个计数器,连续
::两次获取MAC失败就算失败。
if ERRORLEVEL 1 (
    ping %origw% -n 1
    if ERRORLEVEL 1 goto end
    goto GetMac
)

set gw=
set i=

::生成假网关地址(很简单的一个算法,欲使用的源IP地址减去1)
for /f "delims=. tokens=4" %%i in ('echo %source%') do set /a host=%%i-1

set i=
set j=
set k=

for /f "delims=. tokens=1,2,3" %%i in ('echo %source%') do set gw=%%i.%%j.%%k.%host%

::设置假网关的arp映射
arp -s %gw% %mac%

::添加路由
route add %destination% mask %mask% %gw%

:end
将上述脚本保存为"route2.bat"就可以直接用了。
        其实,选择和默认网关不属于同一网段的IP作为源IP地址对于主机而言并非一个常规的做法,如果如此一来,在数据包返回的时候,当初选择的源IP地址作为目标地址,本网段的默认网关在路由的时候会出现问题,除非它将下一跳指向该IP地址所在的主机的相同网段的地址,否则数据包可能会因为目标地址不可达而被丢弃。
        另外,上述的脚本在静态建立arp映射的时候有一个问题,那就是没有和Windows的“死网关检测”功能关联,这样就可以在网关失效后被Notofy了,或者说网关并没有失效,只是换了台机器,换了MAC,此时就需要更新那个MAC映射了。
作者:dog250 发表于2013-8-18 12:57:31 原文链接
阅读:71 评论:0 查看评论

    
[2]centos安装vim7.4
    来源: 互联网  发布时间: 2013-11-01
系统版本centos6.4;
root权限
su - root

卸载
 yum remove vim vim-enhanced vim-common vim-minimal

下载、解压
$ wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
$ wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz//网上的那个链接不能用
$ wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
$
$ tar jxvf vim-7.4.tar.bz2
$ tar zxvf vim-7.2-extra.tar.gz
$ tar zxvf vim-7.2-lang.tar.gz
$
$ mv vim72 vim74


安装编译环境
$ yum install ncurses-devel


编译安装
$ cd vim73/src
$ ./configure --enable-multibyte \--with-features=huge \--disable-selinux
$ make
$ make install


测试
 
$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 18 2013 15:33:36)
Compiled by boss-j@bo_jwolf


作者:liujie619406439 发表于2013-8-18 15:42:18 原文链接
阅读:15 评论:0 查看评论

    
[3]S3C2410 实验三——块拷贝、字拷贝(寄存器的理解)
    来源: 互联网  发布时间: 2013-11-01


因为笔记做在 evernote 上,博客上就不再重新敲了。


http://www.evernote.com/shard/s307/sh/5bd591a1-dbbd-4457-812a-17c08c2234e1/7ffcd2b6a24f6ef4f930e85885de9ad1

作者:u011668290 发表于2013-8-18 16:42:56 原文链接
阅读:14 评论:0 查看评论

    
最新技术文章:
▪SQVI和SAP查询QUERY的区别和使用注意事项    ▪彻底理解Cisco/Linux/Windows的IP路由    ▪Exchange 2010 处于禁止发送用户自动收到来自IT...
▪MB_CHANGE_DOCUMENT使用方法    ▪ALV的html表头    ▪【译】如何精确判断最终用户响应时间过长的...
▪apache2.4.4启用deflate压缩    ▪使用vmware 配置centos 6.0+ 网络出现的各种问题...    ▪十句话教你学会Linux数据流重定向
▪centos6.x已经安装的系统添加图形界面    ▪Linux查看CPU和内存使用情况    ▪win7问题解决,凭据管理器和无法访问,不允...
▪Dynamics CRM 2013 初体验(4):不再被支持的功...    ▪win7下制作ubuntu系统安装启动盘和U盘安装ubuntu...    ▪Linux cp -a用法
▪Windows Server时间服务器配置方法    ▪Tomcat+memcached实现Session共享    ▪Linux修改系统环境变量PATH路径的方法
▪Citrix 服务器虚拟化之二十七 XenApp6.5发布服务...    ▪搭建本地Ubuntu 镜像服务器    ▪Create local metadata resource of yum
▪tsm ANS0326E问题处理    ▪Windows SVN变化邮件通知(Python2.7实现)    ▪linux下的内核测试工具——perf使用简介
▪Nginx TCP Proxy模块的编译安装    ▪OSX: SSH密钥使用日记(2)    ▪OSX: SSH密钥使用日记(1)
▪Manually start and stop Oracle XE in Ubuntu    ▪Disable autostart of Oracle-xe in Ubuntu    ▪tar命令-linux
▪xtrabackup-2.1.2-611安装    ▪无废话ubuntu 13.4文件共享配置    ▪Unix文本处理工具之sed
▪hpux 操作系统 磁带备份与恢复    ▪HP DL360 G7通过iLO部署系统    ▪Redhat 6.0中VNC Server的配置方法
▪hpux 操作系统磁带备份与恢复    ▪用C++编程调用libvirt的API来创建KVM虚拟机    ▪hpux- hp小型机日常硬件故障处理case(一)
▪web集群时session同步的几种方法(统计)    ▪inux常用命令大全    ▪BAT 批处理实现循环备份N天文件夹
▪BIND9私有DNS服务器小环境搭建实验    ▪Exchange2013增量备份    ▪OSSEC Monitor your App log file
▪《深入理解Nginx》阅读与实践(三):使用upstre...    ▪如何给Fedora 15创建磁盘分区    ▪Packet Sniffer Code in C using sockets
▪Error, some other host already uses address    ▪修改uCOS_II以实现“优先级+时间片”联合调度    ▪weblogic开发模式与生产模式介绍
▪Wireshark 高级特性    ▪ubuntu13.04版本下安装RabbitVCS,类似windows的Tortoi...    ▪Apache 一台主机绑定多个域名及虚拟主机
▪linux安全设置    ▪RHEL双网卡绑定    ▪Linux shell if参数
▪Windows配置路由时可以指定源地址啦    ▪centos安装vim7.4    ▪S3C2410 实验三——块拷贝、字拷贝(寄存器的...
▪系统运维——日志处理    ▪ip_conntrack缓存neighbour    ▪关键在封装并发出了帧-IP冲突也无所谓
▪weblogic11g 安装——linux 无图形界面    ▪《数据通信与网络》笔记--SCTP    ▪《数据通信与网络》笔记--TCP中的拥塞控制
▪weblogic11g 安装集群 —— win2003 系统、单台主...    ▪weblogic11g 节点管理器 nodemanager    ▪Citrix 服务器虚拟化之二十六 应用程序虚拟化...
▪如何将windows下的文件夹挂载到linux虚拟机下    ▪在64位AIX6.1下安装SAP JCo    ▪Outlook启动时提示“找不到文件Outlook.pst文件”...
▪weblogic8.1 登陆5 ip 限制    ▪weblogic 内存 及 内存溢出    ▪手把手教你在Windows端搭建Redmine项目管理软件
▪启动及重新启动nginx,重启nginx后丢失nginx.pid问...    ▪Win7实现快速启动栏并实现靠左边的终极操作...    ▪《深入理解Nginx》阅读与实践(二):配置项...
▪显示grub引导菜单    ▪nagios监控主机    ▪linux各种数据流重定向
▪centOS安装chrome浏览器    ▪Slackware 14 安装完全指南    ▪SharePoint 2013的100个新功能之内容管理(三)
▪Citrix 服务器虚拟化之二十一 桌面虚拟化之部...    ▪[问,ask]ubuntu13.04安装vncserver后只显示桌面,不显...    ▪Win7中IIS出现“HTTP 错误 404.17 - Not Found 请求的...
▪CentOS快速安装最新版本的SaltStack    ▪CentOS 6.4 快速安装Nginx笔记    ▪磁盘管理——RAID 0
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号