Ubuntu 的ufw防火墙
1.防火墙和端口
# ubuntu的防火墙和端口,一般ufw 和iptables两大类sudo ufw status # 查看防火墙的状态sudo ufw enable # 开机自启sudo ufw default deny # 关闭外部全部访问## 新增端口sudo ufw allow 8080## 删除端口sudo ufw delete allow 8080## 允许特定来源ip的访问sudo ufw allow from 192.168.1.199
# iptables下的一般使用## 添加iptables允许|关闭 端口参数:-A 追加规则-D 删除规则-I 插入-R 修改-L 查看规则-N 新的规则-p rotocol-m module_nameiptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPTiptables -A INPUT -p udp --dport 21 -j ACCEPTiptables -A INPUT -p tcp --drop 端口号 -j DROP # 关闭端口iptables -L -n #添加的情况记录
2.检查网络
## 查看允许的网络netstat -tunlp # 显示tcp、udp的端口清空netstat -tunlp |grep 端口号 #查看端口情况## lsof的命令lsof -i:22 #查看端口占用情况lsof -i tcp:22 #查看协议对应的端口lsof -g gid #显示归属gid进程情况lsof -c abc #显示开启文件abc.txt的进程lsof +d /usr/loca/ #显示目录下被进程开启的文件
3.ubuntu18.04 - 修改网卡名称
#修改默认网卡名sudo vim /etc/default/grub## 修改内容 GRUB_CMDLINE_LINUXGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"# 更新grubsudo update-grub# 服务重启sudo init 6
Docker模式:
1.Docker部署时,只有tcp6没有tcp,即只支持ipv6 情形
# 针对docker映射的端口,只有ipv6方式才能访问,ipv4没法访问sudo vim /etc/sysctl.conf## 添加或修改内容:net.ipv4.ip_forward = 1# 加载环境sysctl -p /etc/sysctl.conf## 操作完成,通过netstat -tunlp|grep 8080 ,镜像端口可能仍然显示tcp6,但已经可以通过ipv4地址访问了
2.对启动docker需要指定主机IP
ufw 拦截不住 Docker映射出来的端口:
## 启动容器的时候,指定宿主机的ip地址docker run -itd -p 127.0.0.1:3306:3306 -name tomcat8 \-v /usr/local/docker/tomcat/logs:/usr/local/tomcat/logs \-v /usr/local/docker/tomcat/webapps:/usr/local/tomcat/webapps \tomcat:8.5
iptables的防火墙配置
1. iptables的配置
# 1.安装iptablesapt-get install -y iptables# 2.检查iptables端口开放情况iptables -Liptables -L -n# 3.配置iptables模板vim /etc/iptables/iptables.test.rules### 添加内容# Generated by iptables-save*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-I INPUT -p tcp --dport 8080 -j ACCEPT-I INPUT -p udp --dport 8080 -j ACCEPT-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT# Completed# 加载规则iptables-restore < /etc/iptables.test.rules# 开机启动vim /etc/network/if-pre-up.d/iptables### 添加内容#!/bin/bash/sbin/iptables-restore < /etc/iptables.test.rulesroot@localhost:/home# chmod +x /etc/network/if-pre-up.d/iptables
2. debain的凝思版本开放端口
# 1. 修改的配置文件vim /etc/rc.local## 在exit 0 上面添加规则iptables -A INPUT -p tcp -s 127.0.0.1 --dport 22 -j ACCEPT/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT/sbin/iptables -A INPUT -p tcp --dport 23306 -j ACCEPT/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT/sbin/iptables -A INPUT -p tcp --dport 12000 -j ACCEPT/sbin/iptables -A INPUT -p tcp --dport 12443 -j ACCEPT/sbin/iptables -A INPUT -p tcp --dport 23306 -j ACCEPT/sbin/iptables -A INPUT -p tcp --dport 12000 -j ACCEPT/sbin/iptables -A INPUT -p tcp --dport 19000 -j ACCEPT#/sbin/iptables -A INPUT -p udp -m udp --sport 1900 -j DROP#/sbin/iptables -A INPUT -p udp -m udp --dport 1900 -j DROP## 重启让他生效source /etc/rc.local
