A,iptables使用示例

1,将请求80端口的包发送给本机8180端口(这样,别的机器访问本机的80端口时会被转发到8180端口去)
iptables -t nat -A PREROUTING -p tcp -d 10.6.2.110 --dport 80 -j DNAT --to-destination 10.6.2.110:8180
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8180 用 127.0.0.1 或者本机 IP 来访问本机的端口。本地连接的数据包不会通过网卡,而是由内核处理后直接发给本地进程。这种数据包在 iptables 中只经过 OUTPUT 链,而不会经过 PREROUTING 链。所以需要在 OUTPUT 链中进行 DNAT。除了对 127.0.0.1 之外,对本机 IP (即 10.6.2.110) 的访问也属于本地连接。
这样,本机访问本机的80端口时会被转发到8180端口去
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j DNAT --to 127.0.0.1:8180
iptables -t nat -A OUTPUT -p tcp -d 10.6.2.110 --dport 80 -j DNAT --to 127.0.0.1:8180 2,端口转发到别的虚拟机方式如下
echo "1">/proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -d 10.6.2.110 --dport 80 -j DNAT --to-destination 10.6.2.11:80
iptables -t nat -A POSTROUTING -p tcp -d 10.6.2.11 --dport 80 -j SNAT --to-source 10.6.2.110 3,禁止某个ip段访问本机web服务
iptables -A INPUT -p tcp -s 124.95.172.128/26 --dport 80 -j REJECT
iptables -A INPUT -p tcp -s 124.95.172.128/26 --dport 80 -j DROP 4,其他命令
iptables -t nat -D PREROUTING 2 删除某条路由
iptables -t nat -F 清空路由
iptables -t nat -L 列举,查看网关/本机dns路由 附:windows可以用plink实现端口转发等
1,将发往本机lo设备8088端口的数据转发到本机eth0设备的3000端口(-L参数,本机开启sshd)
plink.exe -C -N -L 127.0.0.1:8088:192.168.201.61:3000 -pw passwd ciaos@192.168.201.61
2,将发往本机lo设备8088端口的数据转发到远端10.6.2.11的8088端口(-L参数,远端开启sshd)
plink.exe -C -N -L 127.0.0.1:8088:10.6.2.11:8088 -pw remote_passwd root@10.6.2.11
3,将发往本地lo设备8080端口的数据转发到远端10.6.2.11机器的80端口(-R参数,本机开启sshd)
plink.exe -C -N -R 127.0.0.1:8088:10.6.2.11:80 -pw passwd ciaos@192.168.201.61
-C 启用压缩
-N 不开启shell
用plink.exe还可以配置Socket 5代理(代理服务器需要开启sshd服务) plink.exe -C -N -D 本机IP:本机端口 -pw huaweiNB root@代理服务器IP
4,外部请求转到127.0.0.1端口
# iptables -t nat -I PREROUTING -p tcp -d [公网IP] --dport 8080 -j DNAT --to-destination 127.0.0.1:80
# sysctl -w net.ipv4.conf.eth1.route_localnet=1
其中,请用ifconfig确定本机的外网地址(在上面的例子中为公网IP)是eth0还是eth1。步骤二中,要用对应的eth。
将步骤二修改的变量修改到配置文件/etc/sysctl.conf中,重启可以保留。

B,traceroute使用示例

traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]

windows工具如下

tracert -d -h maximum_hops -j host-list -w timeout target_host
参数的作用:
-d 指定不将地址解析为主机名
-h maximum_hops 指定搜索目标地址时的最大跃点数
-j host-list 指定沿主机列表的松散源路由
-w timeout 由每个回复的 timeout 指定的等待毫秒数
target_host 指定目标主机的名称或 IP 地址。

C,tcpdump使用示例(windows可以使用wireshark或者httpanalyzer)

tcpdump -s 0 -l -w - dst host 10.6.2.110 and port 80 | strings   查看指向目标主机及端口的数据包
tcpdump -s 0 -l -w - dst host 10.6.2.110 and port 80 > file 同上,保存结果到file文件
tcpdump host 10.6.2.110 and \(10.6.2.245 or 10.6.2.11 \) and port 80 截获主机10.6.2.110 和主机10.6.2.11或10.6.2.245的通信
tcpdump -s 0 -l -w - ip host 10.6.2.110 and ! 10.6.2.245 除了和主机10.6.2.245之外所有主机通信的ip包 其他格式:
tcpdump -i eth0 dst host 10.6.2.245 and src 10.6.2.11 and port 80 -X -s 0 -c 3
tcpdump -s0 -A client_ip

D,route使用示例

/etc/sysconfig/network/ifcfg-eth0 网络配置信息

route -n 查看默认路由及网关 (或ip route show)
route del default gw 10.6.2.1 删除默认网关
route add default gw 10.6.2.110 配置默认网关 添加路由(访问192.168.193.0网络就会从网关10.6.2.110走)
route add -net 192.168.193.0 netmask 255.255.255.0 gw 10.6.2.110
route add –host 192.168.193.110 dev eth0:1(访问主机192.168.193.110会从网卡eth0:1走) windows添加删除路由示例
route delete 10.6.0.0
route add 10.6.0.0 mask 255.255.0.0 192.168.200.1 /p

E,ifconfig使用示例

ifconfig eth0 10.6.2.112 netmask 255.255.255.0 修改ip及子网掩码
配置eth0别名设备 eth0:1 的IP,并添加路由
ifconfig eth0:1 192.168.4.2 设置网卡eth1的IP地址、网络掩码、广播地址,物理地址并且激活它
ifconfig eth1 192.168.1.252 hw ether 00:11:00:00:11:11 netmask 255.255.255.0 broadcast 192.168.1.255 up (关闭ifconfig eth0:1 down) ifconfig eth0 mtu 1500 改变网络设备MTU(最大传输单元)的值

F,ip使用示例

ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等

ip link set dev eth0:1 (down|up) 等价于 ifconfig eth0:1 (down|up)
ip link set dev eth0 mtu 1500 改变网络设备MTU(最大传输单元)的值
ip link set dev eth0 address 00:01:4f:00:15:f1 修改网络设备的MAC地址
ip link set dev eth0 txqueuelen 100 改变设备传输队列的长度 ip addr add 192.168.4.2/24 brd + dev eth0 label eth0:1 等价于ifconfig eth0:1 192.168.4.2
ip addr show显示协议地址 ip认识的设备
ip link
ip route 管理路由表条目
ip rule 添加策略路由
ip neighbour ARP缓冲条目
ip address 一个设备的协议地址(ip)
maddress 多播地址
mroute 多播路由缓冲区条目
tunnel IP上的通道

G,其他命令

arp             查看arp缓存
arp –s IP MAC 添加arp记录 (可以伪造arp)
arp –d IP 删除

arping -b 10.6.2.47 查看IP对应mac地址,如果有多个返回,说明mac冲突
ping 计算耗时和丢包率,ping的过程按"Ctrl"+"\"按键
ciaos:~ # ping 10.6.2.11
PING 10.6.2.11 (10.6.2.11) 56(84) bytes of data.
64 bytes from 10.6.2.11: icmp_seq=1 ttl=64 time=0.226 ms
64 bytes from 10.6.2.11: icmp_seq=2 ttl=64 time=0.228 ms
64 bytes from 10.6.2.11: icmp_seq=3 ttl=64 time=0.233 ms
3/3 packets, 0% loss, min/avg/ewma/max = 0.226/0.229/0.227/0.233 ms
64 bytes from 10.6.2.11: icmp_seq=4 ttl=64 time=0.220 ms
64 bytes from 10.6.2.11: icmp_seq=5 ttl=64 time=0.200 ms
64 bytes from 10.6.2.11: icmp_seq=6 ttl=64 time=0.183 ms
64 bytes from 10.6.2.11: icmp_seq=7 ttl=64 time=0.259 ms
64 bytes from 10.6.2.11: icmp_seq=8 ttl=64 time=0.270 ms
64 bytes from 10.6.2.11: icmp_seq=9 ttl=64 time=0.256 ms
9/9 packets, 0% loss, min/avg/ewma/max = 0.183/0.230/0.232/0.270 ms 拒绝ping本机
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 查看网络故障的一般顺序
1,ping 127.0.0.1查看tcp/ip是否正常工作
2,ping 局域网ip地址查看网络适配器是否工作以及本地IP正确配置
3,ping 默认网关查看是否连接局域网以及网关是否在工作
4,ping 外网ip查看网关是否正确工作,转发数据包
5,ping 外网域名,查看域名解析是否正常 远程登录局域网电脑
1,下载putty工具包 
2,命令行执行 PLINK.EXE -N -P 22 root@10.6.2.11 -L 127.0.0.1:13389:10.6.2.59:3389 
3,其中"10.6.2.11"可以为公网IP,本机可达; 
   "10.6.2.59"可以为内网,和本机没有连接,但需要和10.6.2.11连接 
原理:本机通过10.6.2.11虚拟机,将发往本机13389端口的数据包发送给10.6.2.59的3389端口,并将数据返回。 
这样,直接打开远程登录工具登录127.0.0.1:13389端口就能访问10.6.2.59了,很酷!
注:
a,如果远程登录linux机器,命令如下(原理一样,对22端口转发)
  PLINK.EXE -N -P 22 root@10.6.2.11 -L 127.0.0.1:22:10.6.2.110:22
b,如果公网"10.6.2.11"为windows机器,就更简单了,直接远程桌面,然后再使用远程桌面登录内网windows或者linux 反向ssh(Windows的ssh.exe版本没有-f参数,去掉此参数即可)  
0. 在两侧都安装ssh 
1. 在被控端运行ssh -f -N -R 10000:受控端ip:22 username@主控端ip。这里的10000和22是端口号,也就是说,在主控端10000端口和被控端的22端口上建立了一个通道,username为主控端用户名。 
2. 在主控端运行ssh username@localhost -p 10000。这里的username是你被控端的username,10000就是刚才的那个端口号。
(ssh.exe -f -N -R 3000:localhost:3000 root@10.6.2.11)

隧道技术可参照http://blog.chinaunix.net/uid-20761674-id-74962.html

稳定的隧道可用autossh,建立好ssh免密码登录后

autossh -f -R 2222:localhost:22 15.28.18.101 -o TCPKeepAlive=yes vmstat 15

linux网络相关命令使用的更多相关文章

  1. Linux 网络相关命令 Cheat Sheet

    以下漫画形式呈现的常用 Linux 网络相关命令速查表来自 twitter -

  2. Linux 网络相关命令

    1.修改ip,dns相关:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.ifconfig 查找ip,mac地址 3.重启网络:sudo ser ...

  3. Linux网络相关命令firewalld和netfilter、iptables 使用(6/22)

    iptables和netfilter的关系: netfilter在内核空间的代码根据table中的rules,完成对packet的分析和处置.但是这些table中的具体的防火墙rules,还是必须由系 ...

  4. LINUX网络相关命令(转)

    网络连通性 Ping:发送一个 ICMP 回声请求消息给主机,一直持续到到你按下 Ctrl+C .Ping 表示一个包通过 ICMP 从你的机器发送出去,然后在IP层得到回应.Ping 可以检测你与另 ...

  5. linux网络相关命令之脚本和centos启动流程

    nice 功用:设置优先权,可以改变程序执行的优先权等级.等级的范围从-19(最高优先级)到20(最低优先级).优先级为操作系统决定cpu分配的参数,优先级越高,所可能获得的 cpu时间越长. 语法: ...

  6. Linux网络相关命令小结

    # ifconfig # ifup/ifdown # route -n # ip link show //显示本机所有接口信息 # traceroute # netstat //查看本机网络连接与后门 ...

  7. linux网络配置命令(一)——ifconfig

    linux网络配置命令(一)——ifconfig ifconfig 查看.配置网卡信息.已过时,推荐使用ip命令 格式:  ifconfig [interface]                   ...

  8. 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法

    Linux网络相关 ifocnfig 查看网卡ip(yum install net-tools) ip add 查看网卡 ip add = ifocnfig ifconfig 不显示down掉的网卡, ...

  9. Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法 使用介绍

    第7周第3次课(5月9日) 课程内容: 10.11 Linux网络相关10.12 firewalld和netfilter10.13 netfilter5表5链介绍10.14 iptables语法 扩展 ...

随机推荐

  1. Hadoop学习之YARN框架

    转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/,非常感谢分享! 对于业界的大数据存储及分布式处理系统来说,H ...

  2. 我的Fedora22美化日记

    首先我说一下,我命令是乱打的[不要打我],用之前先google 配置RPMFusion仓库 $ sudo dnf install --nogpgcheck http://download1.rpmfu ...

  3. 定义一个runtime的Annotation

    import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(value ...

  4. poj 2689 大范围内素数筛选

    /** 给定一定范围求其内的素数 注意: **/ #include <iostream> #include <math.h> #include <cstring> ...

  5. 有感于NC的强大

    第一次知道nc(netcat)是好几年前的事了,那个时候天比现在更蓝,草比现在更绿,卤煮也还是一个刚上大学不久的青葱骚年... 现在把这个01年的老古董拿出来说好像有点炒冷饭的意思,资料也铺天盖地了说 ...

  6. BF、KMP、BM、Sunday算法讲解

    BF.KMP.BM.Sunday算法讲解 字串的定位操作通常称作串的模式匹配,是各种串处理系统中最重要的操作之一. 事实上也就是从一个母串中查找一模板串,判定是否存在. 现给出四种匹配算法包括BF(即 ...

  7. Java实现HTML转PDF的总结

    Java实现HTML转PDF的几种方法—主要解决中文乱码问题 第一:同事在做HTML转PDF中遇到乱码问题 ********************************************** ...

  8. navicat重新系统丢失libmysql_e

    解决方法: 1把libmysql_e拷贝到c盘的Windows的system文件夹

  9. 第七届河南省赛10403: D.山区修路(dp)

    10403: D.山区修路 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 69  Solved: 23 [Submit][Status][Web Bo ...

  10. Primefaces 中e.offset(...)问题的处理

    问题 在使用Primefaces构建的页面中,原来好好的页面莫名奇异的出现下拉框不能显示数据且点击没有反应的情况.后来通过firefox发现其JS抛出了一个e.offset(...)错误 解决方法 经 ...