社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
########################
1.iptables的用法
########################
iptables比firewall功能更详细,但是难上手
关闭火墙
安装iptables
启动服务
服务信息保存在/etc/sysconfig/iptables
iptables加以下
-nL不做解析列出
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 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
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host- prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host- prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
-F 清除所有策略
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
###################################
2.iptable限制访问
###################################
以httpd为例
通过控制端口不同ip的访问权限来控制访问
查看httpd服务的端口
有三个后缀
拒绝
REJECT
允许
ACCEPT
忽略
DROP
[root@localhost ~]# netstat -antlupe | grep httpd
tcp6 0 0 :::80 :::* LISTEN
0 24061 1264/httpd
iptables -A INPUT -p tcp --dport 80 -j REJECT
拒绝所有访问
[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -j REJECT
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with
icmp-port-unreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables -A INPUT -s 172.25.254.32 -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -s 172.25.254.132 -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with icmp-port-unreachable
ACCEPT tcp -- 172.25.254.32 0.0.0.0/0 tcp dpt:80
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
但此时还是无法连接,原因是读取时是从第一条开始读取,当第一条满足时不再读取第二条规则
有两种删除方法
按内容删除,注意如果多个相同内容,按内容删除的顺序是从后往前删除
iptables -D INPUT -s 172.25.254.32 -p tcp --dport 80 -j ACCEPT
按序号删除第二条规则
iptables -D INPUT 2
插入到第一条规则
iptables -I INPUT 1 -s 172.25.254.32 -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# iptables -D INPUT 2
[root@localhost ~]# iptables -I INPUT 1 -s 172.25.254.32 -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 172.25.254.32 0.0.0.0/0 tcp dpt:80
REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with icmp-portunreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
浏览器测试能连接
用172.25.254.232的浏览器连接
删除掉允许,改为拒绝不提示
iptables -D INPUT 1
iptables -I INPUT 1 -s 172.25.254.32 -p tcp --dport 80 -j DROP
[root@localhost ~]# iptables -D INPUT 1
[root@localhost ~]# iptables -I INPUT 1 -s 172.25.254.32 -p tcp --dport 80 -j DROP
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 172.25.254.32 0.0.0.0/0 tcp dpt:80
REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
此时刷新浏览器连接时会一直在读取,原因是拒绝不提示时没有反馈
####################
3.简单管理链
#####################
iptables -F ##清空策略
iptables -t nat -F PREROUTING:把表格换为nat并且刷新prerouting链接
添加名为westos的链
iptables -N westos
iptables -E allowed disallowed:修改链名称
iptables -D westos 1 删除自定义链下的策略
iptables -X redhat :删除自定义链
iptables -R INPUT 3 -j ACCEPT:把3号的规则替换为-j ACCEPT
iptables -P INPUT DROP: 设置filter表INPUT链的默认规则,当数据包没有被规则列表的任何规则匹配到时,按这个规则处理
iptables -t nat -F:清空nat策略,-F只晴空链中的规则不影响-P设置的默认规则
iptables -t nat -nL:查看nat策略
iptables -t nat -L PREROUTING:查看nat表中prerouting链的规则
#########################
7.iptables做地址转换
#########################
路由器为172.25.254.132
1.1.1.132
目的网关为1.1.1.232
目的是32连接132时自动连接到232,可用于不同网段的连接
清除所有表格
添加转换规则
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 22 -j DNAT --to-dest 1.1.1.232
ssh 172.25.254.132
查看连接后的ip
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!