10月26日任务
10.15 iptables filter表案例
10.16/10.17/10.18 iptables nat表应用
10.15 、iptables filter表小案例
-
iptables小案例
-
vim /usr/local/iptables.sh // 加入如下内容
#!/bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT
-
icmp示例
-
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
#演示:
[root@zgxlinux-01 ~]# vim /usr/local/iptables.sh #!/bin/bash ipt="/usr/sbin/iptables" $ipt -F $ipt -P INPUT DROP $ipt -P OUTPUT ACCEPT $ipt -P FORWARD ACCEPT $ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT $ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT $ipt -A INPUT -p tcp --dport 80 -j ACCEPT $ipt -A INPUT -p tcp --dport 21 -j ACCEPT
10.16、iptables nat表应用
-
nat表应用
-
A机器凉快网卡ens33(192.168.133.130)、 ens37(192.168.100.1), ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100), 和A机器ens37可以通信互联
-
需求1:可以让B机器连接外网
-
A机器上打开路由转发 echo "1">/proc/sysn/net/ipv4/ip_forward
-
A上执行iptables -t nat -A POSTTOUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
-
B上设置网关为192.168.100.1
-
需求2 : C机器只能和A通信,让 C机器可以直接联通B机器的22端口
-
A上打开路由转发echo "1">/proc/sys/net/ipv4/ip_forword
-
A上执行iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
-
A上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
-
B上设置网关为192.168.100.1
#A,B两台机器都添加网卡2,修改为LAN区段。
#设置A机器网卡2的ip地址为192.168.100.1 ,B机器网卡2的ip地址为192.168.100.100
#添加网关命令如下图。
#B机器设置DNS,Linux中有保存DNS配置的文件,存放在 /etc/resolv.conf,设置公网ip后电脑就可以连接外网了,如下图,ping 119.29.29.29,显示没有网络,但其实是因为本地vmware配置问题导致不能上网。
- 设置方法很简单,通过编辑 vi /etc/resolv.conf 设置首选DNS和次要DNS。排在前面的就是首选DNS,后面一行就是次要的DNS。
B试验