Linux ip_forward 数据包转发

Linux ip_forward 数据包转发,第1张

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能。

要让Linux系统具有路由转发功能,需要配置一个Linux的内核参数 net.ipv4.ip_forward 。这个参数指定了Linux系统当前对路由转发功能的支持情况;其值为0时表示禁止进行IP转发;如果是1,则说明IP转发功能已经打开。

要配置Linux内核中的 net.ipv4.ip_forward 参数有多种配置方式可供选择,下面分别介绍。

临时生效的配置方式,在系统重启,或对系统的网络服务进行重启后都会失效。这种方式可用于临时测试、或做实验时使用。

sysctl 命令的 -w 参数可以实时修改Linux的内核参数,并生效。所以使用如下命令可以开发Linux的路由转发功能。

有关 sysctl 指令的更详细介绍,请参见Linux的系统man手册( man sysctl ),或其他有关sysctl指令详细介绍的文章。

内核参数在Linux文件系统中的映射出的文件:/proc/sys/net/ipv4/ip_forward中记录了Linux系统当前对路由转发功能的支持情况。文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开。可使用vi编辑器修改文件的内容,也可以使用如下指令修改文件内容:

永久生效的配置方式,在系统重启、或对系统的网络服务进行重启后还会一直保持生效状态。这种方式可用于生产环境的部署搭建。

在sysctl.conf配置文件中有一项名为 net.ipv4.ip_forward 的配置项,用于配置Linux内核中的 net.ipv4.ip_forward 参数。其值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开。

需要注意的是,修改sysctl.conf文件后需要执行指令 sysctl -p 后新的配置才会生效。

有关 sysctl 指令和sysctl.conf配置文件的更详细介绍,请参见Linux的系统man手册( man sysctl 和 man sysctl.conf ),或其他有关sysctl指令和sysctl.conf配置文件的文章。

在文件最后添加一行: FORWARD_IPV4=YES

需要注意的是,修改/etc/sysconfig/network配置文件后需要重启网络服务( service netwrok restart )才能使新的配置生效。

用网络抓包软件呀,像是wireshark之类的,wireshark有Linux版本的。抓包软件都会让你选择在哪个网卡上抓包,选择WIFI的那个无线网卡,就可以查看wifi的发送和接收的数据包,至于误码率,只要设置成底层网络协议就可以看到

以下几种方法检测linux服务器是否被攻击:1、检查系统密码文件首先从明显的入手,查看一下passwd文件,ls–l/etc/passwd查看文件修改的日期。2、查看一下进程,看看有没有奇怪的进程重点查看进程:ps–aef|grepinetdinetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果看到输出了一个类似inetd–s/tmp/.xxx之类的进程,着重看inetd–s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中也仅仅是inetd–s,同样没有用inetd去启动某个特定的文件;如果使用ps命令看到inetd启动了某个文件,而自己又没有用inetd启动这个文件,那就说明已经有人入侵了系统,并且以root权限起了一个简单的后门。3、检查系统守护进程检查/etc/inetd.conf文件,输入:cat/etc/inetd.conf|grep–v“^#”,输出的信息就是这台机器所开启的远程服务。一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。4、检查网络连接和监听端口输入netstat-an,列出本机所有的连接和监听的端口,查看有没有非法连接。输入netstat–rn,查看本机的路由、网关设置是否正确。输入ifconfig–a,查看网卡设置。5、检查系统日志命令last|more查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现syslog被非法动过,那说明有重大的入侵事件。在linux下输入ls–al/var/log检查wtmputmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种方法。6、检查系统中的core文件通过发送畸形请求来攻击服务器的某一服务来入侵系统是一种常规的入侵方法,典型的RPC攻击就是通过这种方式。这种方式有一定的成功率,也就是说并不能100%保证成功入侵系统,而且通常会在服务器相应目录下产生core文件,全局查找系统中的core文件,输入find/-namecore–execls–l{}\依据core所在的目录、查询core文件来判断是否有入侵行为。7、检查系统文件完整性检查文件的完整性有多种方法,通常通过输入ls–l文件名来查询和比较文件,这种方法虽然简单,但还是有一定的实用性。但是如果ls文件都已经被替换了就比较麻烦。在LINUX下可以用rpm–V`rpm–qf文件名`来查询,查询的结果是否正常来判断文件是否完整。在LINUX下使用rpm来检查文件的完整性的方法也很多,这里不一一赘述,可以manrpm来获得的格式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8515943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存