博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日常运维(Ⅱ)——firewalld、iptables
阅读量:6454 次
发布时间:2019-06-23

本文共 20110 字,大约阅读时间需要 67 分钟。

hot3.png

日常运维(Ⅱ)

十二、防火墙 firewalld和netfilter

12.1 SELinux

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。 SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。 SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。

  • SElinux临时关闭防火墙 : setenforce 0
[root@damozhiying ~]# setenforce 0
  • SElinux临时打开防火墙 : getenforce
[root@damozhiying ~]# getenforce Permissive
  • SElinux永久关闭防火墙:vi /etc/selinux/config----把SELINUX=disabled
[root@damozhiying ~]# vi /etc/selinux/config

打开配置文件后,给SElinux赋值为:SELINUX=disabled

# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#     enforcing - SELinux security policy is enforced.#     permissive - SELinux prints warnings instead of enforcing.#     disabled - No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of three two values:#     targeted - Targeted processes are protected,#     minimum - Modification of targeted policy. Only selected processes are protected. #     mls - Multi Level Security protection.SELINUXTYPE=targeted

12.2 netfilter

netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限制等。

netfilter是之前CentOS 7之前的防火墙,CentOS 7的防火墙是firewalld。目前大多企业还是用CentOS6,防火墙还是用的是netfilter。iptables是设置防火墙的一种工具;因为有必要学习netfilter相关知识;

  • 关闭firewalld
[root@damozhiying ~]# systemctl disable firewalld                               //开机停止启动Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@damozhiying ~]# systemctl stop firewalld                                  //停止服务
  • 开启netfilter;此时需要先安装yum install -y iptables-services(实际就是netfilter)
[root@damozhiying ~]# systemctl enable iptables                                //设置开机启动Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.[root@damozhiying ~]# systemctl start iptables                                //开启服务
  • 查看CentOS上默认的iptables规则: iptables -nvL
[root@damozhiying ~]# iptables -nvLChain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination            63  4184 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0               0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0               0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibitedChain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination             0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT 34 packets, 3216 bytes) pkts bytes target     prot opt in     out     source               destination
  • 清除CentOS上默认的iptables规则
[root@damozhiying ~]# iptables -F; service iptables save            //清除iptables规则,并保存iptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ]
  • 清除后,再次查看iptables规则
[root@damozhiying ~]# iptables -nvLChain INPUT (policy ACCEPT 34 packets, 2468 bytes) pkts bytes target     prot opt in     out     source               destination         Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 20 packets, 2608 bytes) pkts bytes target     prot opt in     out     source               destination
  • 查看iptables规则配置文件
[root@damozhiying ~]# cat /etc/sysconfig/iptables# Generated by iptables-save v1.4.21 on Tue Jun 12 16:35:17 2018*filter:INPUT ACCEPT [1:40]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [1:156]COMMIT# Completed on Tue Jun 12 16:35:17 2018

netfilter的5个表;一般常用(filter和nat表)

  • filter表主要用于过滤包,是系统预设的表,该表有3个链:

    • INPUT:进入本机的包
    • OUTPUT:本机送出的包
    • FORWARD:那些跟本机无关的包
  • nat表主要用于网络地址转换,他也有3个链

    • PREROUTING:包刚刚到达防火墙时该表他的目的地址
    • OUTPUT:改变本地产生的包的目的地址
    • POSTROUTING:包即将离开防火墙时该表其源地址
  • mangle表主要用于给数据包做标记;

  • raw表可以实现不追踪某些数据包,默认系统的数据包都会被追踪;

  • security表用于强制访问MAC的网络规则; (在centos6中并没有)

netfiler的5个链:

链名 释义
PREROUTING 数据包进入路由之前
INPUT 通过路由表后,目的地为本机
FORWARDING 通过路由表后,目的地不为本机
OUTPUT 由本机产生,向外转变
POSTROUTING 发送到网卡接口之前

表链的关系和作用可以理解为三个机器A\B\C之间,A和B有公网实现通讯传输,B和C通过私网进行传输,为了能让A和C之间通信,把B作为网络映射的过程.

iptables传输数据包的过程

  • 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
  • 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
  • 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

十三、iptables语法

iptables是一个非常复杂和功能丰富的工具,所以它的语法也是很有特点的。

13.1 iptables的查看及清除规制:

查看规则:iptables -t 表名 -nvL ; 清除规则是:iptables -t 表名 -F(或z)

选项释义:

  • -nvL 表示查看该表的规则;
  • -n 表示不针对IP反解析主机名;
  • -L 表示列出;
  • -v 表示列出的信息更加详细;
  • -t 后面跟表名;没有此选项,默认为filter;
  • -F 表示把所有规则删除;
  • -Z 把包以及流量计数器重置为零;

iptables -nvL (默认表示filter表)

[root@damozhiying ~]# iptables -nvL                                           //查看filter表常规用法Chain INPUT (policy ACCEPT 194 packets, 17327 bytes) pkts bytes target     prot opt in     out     source               destination         Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 165 packets, 16343 bytes) pkts bytes target     prot opt in     out     source               destination         [root@damozhiying ~]# iptables -t filter -nvL                                  //习惯上用上面的用法查看Chain INPUT (policy ACCEPT 225 packets, 19531 bytes) pkts bytes target     prot opt in     out     source               destination         Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 185 packets, 18603 bytes) pkts bytes target     prot opt in     out     source               destination

比如查看nat表的规则:iptables -t nat -nvL 此时需要用-t选项

[root@damozhiying ~]# iptables -t nat -nvLChain PREROUTING (policy ACCEPT 0 packets, 0 bytes)                             //PREROUTING链 pkts bytes target     prot opt in     out     source               destination         Chain INPUT (policy ACCEPT 0 packets, 0 bytes)                                  //INPUT链 pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 30 packets, 2872 bytes)                             //OUTPUT链 pkts bytes target     prot opt in     out     source               destination         Chain POSTROUTING (policy ACCEPT 30 packets, 2872 bytes) pkts bytes target     prot opt in     out     source               destination

-F 清空所有规则

[root@damozhiying ~]# iptables -t nat -F        //清空nat表的所有规则[root@damozhiying ~]# iptables -F               //清空filter表

-Z 把包以及流量计数器重置为零

[root@damozhiying ~]# iptables -t nat -Z        //重置nat表计数器[root@damozhiying ~]# iptables -Z               //重置filter表的计数器

13.2 实战规则

此规则在实际经验比较常用,规则为:

iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP

里面的选项释义:(注意无-t选项,这个针对filter表)

  • -A 表示增加一条规则,排队,只能在最后面
  • -I 表示插入一条规则,效果和-A一样,插队
  • -D 删除一条规则;
  • -s 后跟源地址;
  • -p 协议(tcp, udp, icmp);
  • --sport/--dport 和-p一起使用,后跟源端口/目标端口;
  • -d 后跟目的IP(主要针对内网或者外网);
  • -j 后跟动作(DROP即把包丢掉,REJECT即包拒绝;ACCEPT即允许包)。
  • -i 表示指定网卡(不常用,但是偶尔能用到)

插入一条规则,把来自1.1.1.1的数据包丢掉, 如下:

[root@damozhiying ~]# iptables -I INPUT -s 1.1.1.1 -j DROP

删除刚刚插入的规则, 如下:(注意:插入I,删除D )

[root@damozhiying ~]# iptables -D INPUT -s 1.1.1.1 -j DROP

把来自2.2.2.2并且是TCP协议到本机80端口的数据包丢掉,如下:

[root@damozhiying ~]# iptables -I INPUT -s 2.2.2.2 -p tcp --dport 80 -j DROP

注意上面,--dport/--sport必须和-p选项一起使用,否则会出错.

把发送到10.0.1.14的22端口的数据包丢掉,如下:

[root@damozhiying ~]# iptables -I OUTPUT -p tcp --dport 22 -d 10.0.1.14 -j DROP

iptables -nvL --line-numbers有时候服务器上的iptables规则过多了,想删除某一条规则,但又不容易掌握创建时的规则,其实有一种比较简单的方法;

先查看iptables规则,示例命令如下:

[root@damozhiying ~]# iptables -nvL --line-numbersChain INPUT (policy ACCEPT 113 packets, 10732 bytes)num   pkts bytes target     prot opt in     out     source               destination         Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)num   pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 96 packets, 8904 bytes)num   pkts bytes target     prot opt in     out     source               destination

然后删除某一条规则,使用如下: iptables -D 链名 num (num就是num下的值)

[root@damozhiying ~]# iptables -D INPUT 1iptables: Index of deletion too big.
  • -P选项,它表示预设策略;
iptables -P OUTPUT DROP    //扔掉发出的所有数据包

-P后面跟链名,策略内容或为DROP,或为ACCEPT,默认后者。需要注意的是:如果在连接远程服务器的时候,千万不要随便执行这个命令,执行后,远程连接会断开; 假如要恢复:需要执行命令:iptables -P OUTPUT ACCEPT

十四、iptables filter表小案例

  • 案例一:

针对filter表,预设策略INPUT链DROP,其他2个链ACCEPT,然后针对192.168.112.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口

针对这个需求,我们需要些一个脚本:

#!/bin/bash                                                               //定义解释器IPT="/usr/sbin/iptables"                                                  //定义变量名$IPT -F                                                                    //清空所有规则$IPT -P INPUT DROP                                                         //把INPUT链收到的数据包扔掉$IPT  -P FORWARD ACCEPT                                                    //接受FORWARD的数据包$IPT -P OUTPUT ACCEPT                                                      //接受发送出去的所有数据包$IPT -A INPUT -p tcp  -s 192.168.112.0/24 --dport 22 -j ACCEPT             //针对192.168.112.0/24开通22端口,$IPT -A INPUT -p tcp --dport 80 -j ACCEPT                                  //开放80端口$IPT -A INPUT -p tcp --dport 21 -j ACCEPT                                  //开放21端口

打开 vim /usr/local/sbin/iptables.sh 把上面的脚本写入这个shell

[root@damozhiying ~]# vim /usr/local/sbin/iptables.sh[root@damozhiying ~]# cat !$cat /usr/local/sbin/iptables.sh#!/bin/bash           IPT="/usr/sbin/iptables"                                                  $IPT -F                                                                    $IPT -P INPUT DROP                                                        $IPT  -P FORWARD ACCEPT                                                   $IPT -P OUTPUT ACCEPT                                                      $IPT -A INPUT -p tcp  -s 192.168.112.0/24 --dport 22 -j ACCEPT             $IPT -A INPUT -p tcp --dport 80 -j ACCEPT                                  $IPT -A INPUT -p tcp --dport 21 -j ACCEP

查看其iptables规则:iptables -nvL

[root@damozhiying ~]# iptables -nvLChain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination           119 11853 ACCEPT     tcp  --  *      *       192.168.112.0/24     0.0.0.0/0            tcp dpt:22    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 98 packets, 17741 bytes) pkts bytes target     prot opt in     out     source               destination
  • 案例二:
iptables -I INPUT -p icmp --icmp-type 8 -j DROP   //不允许接受icmp数据包到本地

这条命令,作用是禁止他人ping你的机器,而你可以ping通其他机器。

十五、iptables nat表应用

15.1 需求1:B机器联网外网

A机器2块网卡分别是外网和内网,B机器只有内网,可以让B机器联网外网

首先我们做个测试:

步骤1:在虚拟机。A机器添加一个内网网卡,B机器也添加内网网卡。 网卡模式并设置为LAN区段,自定义名字一样。

按下图:添加网络适配器

默认,完成

按图,新建LAN区段,名称任意

按下图,选择新建的LAN区段

此时,可以看到机器A的新增网卡设置完成

设置B机器的网卡

同样按之前设置,选择相同LAN区段,目的是保证A、B机器的处于同一网段;

完成后,下图可以看B机器和A处于同一网段

此时查看机器A的网卡

[root@damozhiying ~]# ifconfig ens33: flags=4163
mtu 1500 inet 192.168.112.136 netmask 255.255.255.0 broadcast 192.168.112.255 inet6 fe80::16dc:89c:b761:e115 prefixlen 64 scopeid 0x20
ether 00:0c:29:87:3f:91 txqueuelen 1000 (Ethernet) RX packets 88 bytes 9771 (9.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 84 bytes 9697 (9.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33:0: flags=4163
mtu 1500 inet 192.168.112.158 netmask 255.255.255.0 broadcast 192.168.112.255 ether 00:0c:29:87:3f:91 txqueuelen 1000 (Ethernet)ens37: flags=4163
mtu 1500 inet6 fe80::ad38:a02e:964e:1b93 prefixlen 64 scopeid 0x20
//新增的网卡,无IP ether 00:0c:29:87:3f:9b txqueuelen 1000 (Ethernet) RX packets 7 bytes 2394 (2.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26 bytes 4668 (4.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

给ens37 设置IP;并查看

[root@damozhiying ~]# ifconfig ens37 192.168.112.1/24[root@damozhiying ~]# ifconfig ens33: flags=4163
mtu 1500 inet 192.168.112.136 netmask 255.255.255.0 broadcast 192.168.112.255 inet6 fe80::16dc:89c:b761:e115 prefixlen 64 scopeid 0x20
ether 00:0c:29:87:3f:91 txqueuelen 1000 (Ethernet) RX packets 466 bytes 39486 (38.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 220 bytes 28218 (27.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33:0: flags=4163
mtu 1500 inet 192.168.112.158 netmask 255.255.255.0 broadcast 192.168.112.255 ether 00:0c:29:87:3f:91 txqueuelen 1000 (Ethernet)ens37: flags=4163
mtu 1500 //设置的IP:192.168.100.1 生效 inet 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::20c:29ff:fe87:3f9b prefixlen 64 scopeid 0x20
ether 00:0c:29:87:3f:9b txqueuelen 1000 (Ethernet) RX packets 47 bytes 13970 (13.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 69 bytes 10998 (10.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

现在操作机器B;

关闭能联网的ens33网卡;

同样给ens37设置IP:192.168.100.100;

此时机器B,可以与机器A联网;

看机器A,也可以和机器B联网

[root@damozhiying ~]# ping 192.168.100.100PING 192.168.100.100 (192.168.100.100) 56(84) bytes of data.64 bytes from 192.168.100.100: icmp_seq=1 ttl=64 time=0.501 ms64 bytes from 192.168.100.100: icmp_seq=2 ttl=64 time=1.35 ms64 bytes from 192.168.100.100: icmp_seq=3 ttl=64 time=0.240 ms^C--- 192.168.100.100 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2002msrtt min/avg/max/mdev = 0.240/0.700/1.359/0.478 ms

但是此时只是机器A和机器B相连,却不能连接外网;

在机器A上设置,打开路由转发;

[root@damozhiying ~]# cat /proc/sys/net/ipv4/ip_forward  //查看路由转发,O为关闭0[root@damozhiying ~]# echo ' 1'> !$                      //定义为1,说明路由转发打开echo ' 1'> /proc/sys/net/ipv4/ip_forward[root@damozhiying ~]# !cat                               //再查看,确认为打开cat /proc/sys/net/ipv4/ip_forward1

增加规则,并查看 (规则的目的是让100.0的网段能够上网)

[root@damozhiying ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE[root@damozhiying ~]# iptables -t nat -nvL                   //查看nat表的规则Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)           pkts bytes target     prot opt in     out     source               destination             0     0 MASQUERADE  all  --  *      ens33   192.168.100.0/24     0.0.0.0/0

B机器设置网关;

设置DNS,在vi /etc/resolv.conf 添加 nameserver :119.29.29.29

从上图,机器B已经可以联网了;需求1成功;

15.2 需求2:C机器连接B机器

C机器只能和A通信,让C机器可以直接连通B机器的22端口

分析:192.168.112.136的端口22映射到端口映射 1122 连接B机器的192.168.100.100

B机器的192.168.100.100的端口22,映射为1122的端口,用192.168.112.136连接1122端口,也就是 连接192.168.100.100的22端口;

首先设置机器A;清除之前设置的规则

[root@damozhiying ~]# iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE[root@damozhiying ~]# iptables -t nat -nvL                          //查看规则,发现为空Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination

增加新的规则,并查看规则

[root@damozhiying ~]# iptables -t nat -A PREROUTING -d 192.168.112.136 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22[root@damozhiying ~]# iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.112.136           [root@damozhiying ~]# iptables -t nat -nvLChain PREROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination             0     0 DNAT       tcp  --  *      *       0.0.0.0/0            192.168.112.136      tcp dpt:1122 to:192.168.100.100:22Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source               destination             0     0 SNAT       all  --  *      *       192.168.100.100      0.0.0.0/0            to:192.168.112.136

此时需要给B机器设置网关;之前已经设置了。若没有设置必须设置,才能联网;

新建一个xshell会话,安装下图操作;

输入机器A的192.168.112.136的登录名和密码;

注意:机器A有两个网卡:192.168.112.136和192.168.112.100.1;192.168.112.136这个一直和主机相连接;因此机器A一直可以用Xshell远程登录;

在nattext100 会话中,查看网卡,

[root@ying02 ~]# ifconfig ens33: flags=4099
mtu 1500 //机器B,关闭的网卡 ether 00:0c:29:c6:2c:24 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens37: flags=4163
mtu 1500 //ip为192.100.100.100,说明为机器B inet 192.168.100.100 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::20c:29ff:fec6:2c2e prefixlen 64 scopeid 0x20
ether 00:0c:29:c6:2c:2e txqueuelen 1000 (Ethernet) RX packets 337 bytes 40073 (39.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 503 bytes 66978 (65.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73
mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback) RX packets 440 bytes 36824 (35.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 440 bytes 36824 (35.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0连接外网[root@ying02 ~]# ping www.baidu.com //连接外网,可以连通PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=127 time=8.83 ms64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=127 time=7.57 ms^C--- www.a.shifen.com ping statistics ---

用W查看系统负载,可以看到源来自192.168.112.1就是C机器

[root@ying02 ~]# w 14:19:11 up  1:17,  2 users,  load average: 0.00, 0.01, 0.05USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHATroot     tty1                      13:11   15:27   0.09s  0.09s -bashroot     pts/0    192.168.112.1    14:18    7.00s  0.03s  0.02s w               //源为windows机器

这说明了,机器C:192.168.112.1已经和机器B:192.168.100.100相连。机器C和A能够通信,而通过A机器来连接B机器的映射端口1122,达到了C和B通信;而且机器B也通过映射端口1122,能够连接外网。

转载于:https://my.oschina.net/u/3851633/blog/1829355

你可能感兴趣的文章
Eclipse(Helios) 初始化失败的问题
查看>>
SQL Server 2012 数据库镜像配置完整篇
查看>>
MariaDB 10之TokuDB存储引擎
查看>>
Flex与.NET互操作(一):基于Socket的网络连接
查看>>
WPF中Style的使用
查看>>
组策略设置服务器安全-----不显示最后的用户名
查看>>
慢查询日志的另外一种方法
查看>>
引发CPU占用率快100%的可能原因
查看>>
公司今年的一道校招笔试题--五猴分桃
查看>>
[数据恢复答疑]RAID5有一块硬盘离线后,为什么不建议马上做REBUILD?
查看>>
DB2临时表在SQL过程和SQL语句中的测试总结
查看>>
Exchange 2013 EAC之管理员重置普通用户密码
查看>>
三线跑酷例子BlocksRun的技术点
查看>>
如何应对DDOS网络攻击
查看>>
新闻奖颁给了一个写稿机器人(来自新华社)
查看>>
Android应用程序在新的进程中启动新的Activity的方法和过程分析
查看>>
【Java学习笔记】对象的流读写(串行化)
查看>>
使用SharePoint Server 2007搜索Domino Notes
查看>>
Mahout学习之Mahout简介、安装、配置、入门程序测试
查看>>
重写AutoCompleteTextView之实现自定义匹配规则 及 提示
查看>>