学前了解:
什么是防火墙?
介于计算机和它所连接的网络之间的软件。 防火墙的作用? 加强系统和网路的安全,防止攻击,对端口扫描,禁止某类服务、协议…… 防火墙的分类? 软件防火墙和硬件防火墙四张表 ;
filter 包过滤 INPUT OUTPUT FORWARD nat 网络地址转换 network address translation 允许一个内网地址块,通过NAT转换成公网IP,实现对公网的访问,解决IP地址不够的问题 PREROUTING POSTROUTING OUTPUT mangle 可以对数据包进行修改,以实现特殊的应用,比如set mark(设置标志位) TTL (生存时间) TOS (type of services) INPUT OUTPUT FORWARD PREROUTING POSTROUTING raw 对原始数据包的处理 PREROUTING OUTPUT # ?? 五个链: INPUT 网络数据包流向服务器 OUTPUT 网络数据包流出服务器 FORWARD 网络数据包经过服务器路由 PREROUTING 网络数据包到达服务器时可以被修改 POSTROUTING 网络数据包在马上要从服务器发出时可以被修改1.iptables 常用参数
-t 指定表 -L list -S, --list-rules -n 以数值显示 -v 显示统计数据,与-L结合使用 -A 增加一条新的规则,默认是在最后追加 -D 删除规则 -I 增加一条新的规则,但是是加上最前面 -p 小写p 后接协议 -P 大写P 定义默认策略 -j 后接动作 -s source源地址 -d destionation 目地地址 -i in-interface 后接网卡设备,表示进入网卡 -o out-interface 后接网卡设备,表示出去网卡 --sport 源端口 --dport 目标端口 -F 清空链,删除链上所有的规则 -X 删除自定义链 -Z 将所有表的所有链的字节和数据包计数器清零 动作的类型 ACCEPT 允许 DROP 丢弃 REJECT 拒绝,与DROP的区别是,还要返回一个错误信息 SNAT 源地址转换 DNAT 目标地址转换 MASQUERADE IP地址伪装 使用NAT转换成外网IP,也属于SNAT;区别是SNAT要手动指向转换的IP地址,是固定的;MASQUERADE是动态自动转换,用于外网IP不固定的情况(pppoe拔号)2.常用例题:
2.1 显示filter 表格的数字编号 这里有利于使用iptables -D INPUT number 进行删除
[root@openvpn-client named]# iptables -t filter -L --line-numbers 显示 filter 表格的数字编号 这里有利于使用iptables -D INPUT number 进行删除 等价于 iptables -L --line-numbers
Chain INPUT (policy ACCEPT) num target prot opt source destinationChain FORWARD (policy ACCEPT)
num target prot opt source destinationChain OUTPUT (policy ACCEPT)
num target prot opt source destination2.2. 禁止ping
[root@openvpn-client named]# iptables -t filter -A INPUT -p icmp -j DROP
验证:
[root ~]# ping 192.168.119.129
PING 192.168.119.129 (192.168.119.129) 56(84) bytes of data. ^C --- 192.168.119.129 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2102ms2.3.只允许192.168.119.128 能ping 通我
1.[root@openvpn-client named]# iptables -t filter -A INPUT -p icmp -j DROP
2.[root@openvpn-client named]# iptables -t filter -I INPUT -p icmp -s 192.168.119.1128 -j ACCEPT
这样能互相ping提
2.4端口打开(服务端):
iptables -t nat -I PREROUTING -d 192.168.242.129 -p tcp --dport 6020 -j DNAT --to 172.16.10.14:22
iptables -t nat -I POSTROUTING -d 172.16.10.14 -p tcp --dport 22 -j SNAT --to 192.168.242.129
vim /etc/sysctl.conf
net,ipv4.ip_forward =1
2.5内网的客户机能上外网(客户端和服务端都要打开):
iptables -t nat -I PREROUTING -s 172.16.10.14 /24 -j DNAT --to 192.168.119.128
iptables -t nat -I POSTROUTING -s 172.16.10.14 -o -j SNAT --to 192.168.242.129