这个是我上的《反病毒与防火墙技术》的实验,本来要用天网做的,闲麻烦,就用了iptables。 很快完成,不知道学到了什么。

实验目的:通过对天网防火墙的安装和配置,加深对网络防火墙原理的理解,同时通过对防火墙规则的制定,增加学生对防火墙的了解并能根据网络安全策略的实际情况来进行防火墙规则的制定。
实验原理:包过滤
实验环境:局域网环境,3台以上预装Windows xp的计算机,计算机间通过网络连接,安装天网防火墙软件。

实验记录–>–>–>
既然用 iptables做,先确定3台电脑的软件及设置:

  1. 计算机001:
    操作系统 Arch Linux
    安装软件 samba、openssh、iptables
    IP地址 192.168.1.101
  2. 计算机002:
    操作系统 Windows XP(Vbox虚拟机)
    安装软件 putty
    IP地址 192.168.1.102
  3. 计算机003:
    操作系统 Windows XP
    安装软件 putty
    IP地址 192.168.1.103

申明: 以下每一个实验之前都清空 iptables的规则,命令如下–>–>–>

# 清除所有的已定制的规则
user@~$ sudo iptables -F
# 杀掉所有使用者”自定”的tables
user@~$ sudo iptables -X
# 将所有的tables的计数与流量统计都归零
user@~$ sudo iptables -Z
# 清空nat表规则
user@~$ sudo iptables -t nat -F
user@~$ sudo iptables -t nat -X

  1. 禁止所有人用ping命令探测我的主机;
    思路: 禁止所有 ICMP封包;

    ~$ sudo iptables -A INPUT -p icmp –icmp-type echo-request -j DROP
  2. 只允许谋特定的主机(如192.168.1.x)用ping命令特测我的主机;
    思路: 先允许来自 192.168.1.102的icmp封包;
    ~$ sudo iptables -A INPUT -s 192.168.1.102 -p icmp –icmp-type echo-request -j ACCEPT
    ~$ sudo iptables -A INPUT -p icmp –icmp-type echo-request -j DROP
  3. 禁止所有人访问我的默认共享;
    思路: Samba服务的端口是 TCP 139、445(用netstat查看), 屏蔽这两个端口即可;
    ~$ sudo iptables -A INPUT -p TCP –dport 139 -j DROP
    ~$ sudo iptables -A INPUT -p TCP –dport 445 -j DROP
  4. 只允许谋特定的主机访问我的默认共享;
    思路: 先允许来自 192.168.1.102 访问Samba端口 139、445, 再屏蔽;
    ~$ sudo iptables -A INPUT -p TCP -s 192.168.1.102 –dport 139 -j ACCEPT
    ~$ sudo iptables -A INPUT -p TCP -s 192.168.1.102 –dport 445 -j ACCEPT
    ~$ sudo iptables -A INPUT -p TCP –dport 139 -j DROP
    ~$ sudo iptables -A INPUT -p TCP –dport 445 -j DROP
  5. 禁止所有人连接我的终端服务 3389;
    思路: 一定要 3389端口, 那把 OpenSSH的端口(22)改成 3389这个windows上的肉鸡端口得了;
    ~$ sudo iptables -A INPUT -p TCP –dport 3389 -j DROP
  6. 只允许谋特定的主机我的终端服务;
    思路: 先允许 192.168.1.102 访问 ssh,然后屏蔽
    ~$ sudo iptables -A INPUT -p TCP -s 192.168.1.102 –dport 3389 -j ACCEPT
    ~$ sudo iptables -A INPUT -p TCP –dport 3389 -j DROP

 

这样手动输入命令管理 Iptables太麻烦,正着使用是写成一个脚本,很方便。把SSHD的端口改成 3389可能是我长久挥之不去的耻辱! 郁闷… …