学习Linux的防火墙配置和nat地址转换
防火墙的配置和nat地址转换
1.[root@zy root]# iptables -A INPUT -p icmp -j DROP
我解释下 iptables 就是防火墙规则了 -A 就是添加一条规则了
input为进的规则 还有出的规则为output -p 就是选择的一个协议
icmp是协议的一中 它包括tcp udp icmp等 -j 就是对此规则的选择
drop 就是放弃 ,accept 就是接受 ,reject弹回 ,log 记入日志里
2.规则加进去之后我们可以用[root@zy root]# iptables -L
来查看防火墙规则
[root@zy root]# iptables -L -n 以数字的格式显示
[root@zy root]# iptables -F 清空防火墙规则
[root@zy root]# iptables --help |more 查看iptables'的帮助文档
[root@zy root]# iptables -L -n --line-numbers 查看规则的编号
3.现在我们做一个小实验
[root@zy root]# ftp 192.168.1.144
Connected to 192.168.1.144 (192.168.1.144).
220 Welcome to zy FTP service.
Name (192.168.1.144:root):
结果证明是可以登录的
我们写入这条命令
[root@zy root]# iptables -A INPUT -p tcp -s 192.168.1.102 -d 192.168.1.144 --dport 21 -j DROP
然后从新登录ftp发现失败了
其中-s指的是愿主机 -d 是指的目标主机 --dport 指的是目标端口
如果我们想从新可以登录就要删除该条规则
[root@zy root]# iptables -L -n --line-numbers 发现其规则号为2
num target prot opt source destination
1 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
2 DROP tcp -- 0.0.0.0/0 192.168.1.144 tcp dpt:21
3 ACCEPT tcp -- 0.0.0.0/0 192.168.1.102 tcp dpt:21
[root@zy root]# iptables -D INPUT 2
这样就可以删除掉该规则了 -D是删除的命令
4.然后让我们清除配置规则,来从新定义规则
[root@zy root]# iptables -F 清空防火墙规则
首先我们要加入ssh规则,因为我是用windows访问linux的,所以一定要先把次规则打入
[root@zy root]# grep ssh /etc/services 查看ssh服务的端口为22
[root@zy root]# iptables -A INPUT -p tcp -d 192.168.1.144 --dport 22 -j ACCEPT 允许所有的客户机从远程登录192.168.1.144的22端口
[root@zy root]# iptables -A OUTPUT -p tcp -s 192.168.1.144 --sport 22 -j ACCEPT 允许192.168.1.144的22 端口出去
[root@zy root]# iptables -L -n --line-numbers
查看下防火墙的规则
5,防火墙的默认规则是允许所有的,所有我们要把它改为默认拒绝所有需要什么服务再加上
[root@zy root]# iptables -P INPUT DROP
[root@zy root]# iptables -P FORWARD DROP
[root@zy root]# iptables -P OUTPUT DROP
三个规则一起关掉
[root@zy root]# netstat -nal 虽然还是开了很多端口但是起作用的端口就只有22了只有ssh协议可以进来了
[root@zy root]# service iptables save
将当前规则保存到 /etc/sysconfig/iptables: [ 确定 ]
这样这条规则就保存到iptables中了 开机从启就会执行这条规则的
6.现在我们做一个实验把web服务加进去
[root@zy root]# iptables -A INPUT -p tcp -d 192.168.1.144 --dport 80 -j ACCEPT
[root@zy root]# iptables -A OUTPUT -p tcp -s 192.168.1.144 --sport 80 -j ACCEPT
[root@zy root]# iptables -L -n
[root@zy root]# service iptables save
1.[root@zy root]# iptables -A INPUT -p icmp -j DROP
我解释下 iptables 就是防火墙规则了 -A 就是添加一条规则了
input为进的规则 还有出的规则为output -p 就是选择的一个协议
icmp是协议的一中 它包括tcp udp icmp等 -j 就是对此规则的选择
drop 就是放弃 ,accept 就是接受 ,reject弹回 ,log 记入日志里
2.规则加进去之后我们可以用[root@zy root]# iptables -L
来查看防火墙规则
[root@zy root]# iptables -L -n 以数字的格式显示
[root@zy root]# iptables -F 清空防火墙规则
[root@zy root]# iptables --help |more 查看iptables'的帮助文档
[root@zy root]# iptables -L -n --line-numbers 查看规则的编号
3.现在我们做一个小实验
[root@zy root]# ftp 192.168.1.144
Connected to 192.168.1.144 (192.168.1.144).
220 Welcome to zy FTP service.
Name (192.168.1.144:root):
结果证明是可以登录的
我们写入这条命令
[root@zy root]# iptables -A INPUT -p tcp -s 192.168.1.102 -d 192.168.1.144 --dport 21 -j DROP
然后从新登录ftp发现失败了
其中-s指的是愿主机 -d 是指的目标主机 --dport 指的是目标端口
如果我们想从新可以登录就要删除该条规则
[root@zy root]# iptables -L -n --line-numbers 发现其规则号为2
num target prot opt source destination
1 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
2 DROP tcp -- 0.0.0.0/0 192.168.1.144 tcp dpt:21
3 ACCEPT tcp -- 0.0.0.0/0 192.168.1.102 tcp dpt:21
[root@zy root]# iptables -D INPUT 2
这样就可以删除掉该规则了 -D是删除的命令
4.然后让我们清除配置规则,来从新定义规则
[root@zy root]# iptables -F 清空防火墙规则
首先我们要加入ssh规则,因为我是用windows访问linux的,所以一定要先把次规则打入
[root@zy root]# grep ssh /etc/services 查看ssh服务的端口为22
[root@zy root]# iptables -A INPUT -p tcp -d 192.168.1.144 --dport 22 -j ACCEPT 允许所有的客户机从远程登录192.168.1.144的22端口
[root@zy root]# iptables -A OUTPUT -p tcp -s 192.168.1.144 --sport 22 -j ACCEPT 允许192.168.1.144的22 端口出去
[root@zy root]# iptables -L -n --line-numbers
查看下防火墙的规则
5,防火墙的默认规则是允许所有的,所有我们要把它改为默认拒绝所有需要什么服务再加上
[root@zy root]# iptables -P INPUT DROP
[root@zy root]# iptables -P FORWARD DROP
[root@zy root]# iptables -P OUTPUT DROP
三个规则一起关掉
[root@zy root]# netstat -nal 虽然还是开了很多端口但是起作用的端口就只有22了只有ssh协议可以进来了
[root@zy root]# service iptables save
将当前规则保存到 /etc/sysconfig/iptables: [ 确定 ]
这样这条规则就保存到iptables中了 开机从启就会执行这条规则的
6.现在我们做一个实验把web服务加进去
[root@zy root]# iptables -A INPUT -p tcp -d 192.168.1.144 --dport 80 -j ACCEPT
[root@zy root]# iptables -A OUTPUT -p tcp -s 192.168.1.144 --sport 80 -j ACCEPT
[root@zy root]# iptables -L -n
[root@zy root]# service iptables save