Avahi 完整安装与使用教程(Linux 局域网零配置解析)

Avahi 是 Linux 下轻量的mDNS/DNS-SD 零配置网络服务,对应 Windows 的 Bonjour、macOS 的原生零配置解析,安装后无需手动配置,就能实现局域网内主机名.local的自动 IP 解析,替代手动修改/etc/hosts,完美实现类似 Windows 的局域网主机名解析效果,仅需几步即可完成部署和使用

一、Avahi 安装(主流 Linux 发行版全覆盖)

1. Debian/Ubuntu 系列(Ubuntu 20.04/22.04、Deepin、Kali 等)

bash

<?XML:NAMESPACE PREFIX = “[default] http://www.w3.org/2000/svg” NS = “http://www.w3.org/2000/svg” />

运行

# 先更新软件源,再安装核心包+工具包
sudo apt update && sudo apt install avahi-daemon avahi-utils -y
  • avahi-daemon:Avahi 核心服务进程,负责局域网 mDNS 广播和解析
  • avahi-utils:辅助工具包(含avahi-resolve/avahi-browse等实用命令)
2. CentOS/RHEL 系列(CentOS 7/8/9、Rocky Linux、AlmaLinux 等)

CentOS 需先启用EPEL 源(Avahi 包在 EPEL 仓库),再安装:

bash

运行

# 安装EPEL源(已安装则跳过)
sudo yum install epel-release -y
# 安装Avahi核心包+工具包
sudo yum install avahi avahi-tools -y
3. Fedora 系列

bash

运行

sudo dnf install avahi-daemon avahi-utils -y
4. Arch Linux/Manjaro 系列

bash

运行

sudo pacman -S avahi avahi-utils -y

二、Avahi 服务管理(核心步骤,必须确保服务运行)

Avahi 依赖avahi-daemon进程,安装后需启动服务并设置开机自启,所有发行版均使用systemd命令(通用),一步到位:

bash

运行

# 1. 启动Avahi服务
sudo systemctl start avahi-daemon
# 2. 设置开机自启(重启系统后自动运行,避免每次手动启动)
sudo systemctl enable avahi-daemon
# 3. 验证服务状态(关键:显示active(running)即为正常)
sudo systemctl status avahi-daemon
服务状态正常输出示例

plaintext

● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
     Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2026-02-04 10:00:00 CST; 10s ago
       Docs: man:avahi-daemon(8)
   Main PID: 1234 (avahi-daemon)
      Tasks: 2 (limit: 19000)
     Memory: 1.2M
     CGroup: /system.slice/avahi-daemon.service
             ├─1234 avahi-daemon: running [linux-server.local]
             └─1235 avahi-daemon: chroot helper

从状态中能直接看到本机的解析域名:主机名.local(如上述linux-server.local)。

常见服务问题解决

若执行status显示failed,大概率是端口被占用(mDNS 默认用 UDP 5353),执行以下命令排查并释放端口:

bash

运行

# 查找占用5353端口的进程
sudo lsof -i :5353
# 杀死占用进程(替换PID为实际查到的进程号)
sudo kill -9 PID
# 重新启动Avahi
sudo systemctl restart avahi-daemon

三、防火墙放行(关键!否则局域网设备无法发现)

Avahi 基于UDP 5353 端口进行 mDNS 广播和解析,若 Linux 开启了防火墙(ufw/firewalld),必须放行该端口,否则局域网其他设备无法解析本机主机名.local,本机也无法解析其他设备。

1. Ubuntu/Debian 系列(用 ufw 防火墙)

bash

运行

# 放行UDP 5353端口
sudo ufw allow 5353/udp
# 重新加载防火墙规则
sudo ufw reload
# 验证放行结果
sudo ufw status
2. CentOS/RHEL/Fedora 系列(用 firewalld 防火墙)

bash

运行

# 永久放行UDP 5353端口(--permanent 表示重启防火墙生效)
sudo firewall-cmd --permanent --add-port=5353/udp
# 重新加载防火墙规则
sudo firewall-cmd --reload
# 验证放行结果
sudo firewall-cmd --list-ports

四、Avahi 核心使用方法(解析 / 查询 / 发现)

安装并配置完成后,无需任何额外配置,直接在局域网内使用主机名.local即可实现 IP 解析,支持ping/ssh/curl等所有网络命令,同时提供专属工具实现更灵活的查询。

基础使用:直接解析局域网主机名.local
1. 查看本机解析域名

先通过hostname查看本机主机名,拼接.local即为 Avahi 解析域名:

bash

运行

hostname  # 输出示例:ubuntu-pc → 解析域名为ubuntu-pc.local
2. 局域网内解析 / 访问(核心功能)
  • ping 测试解析(最直接验证):

    在局域网另一台设备(Linux/Windows/macOS)上,直接 ping 本机的主机名.local,会自动解析到对应 IP:

    bash

    运行

    # 示例:ping ubuntu-pc.local,-c 2 表示只发2个包
    ping ubuntu-pc.local -c 2
    

    正常输出(已成功解析 IP):

    plaintext

    PING ubuntu-pc.local (192.168.1.105) 56(84) bytes of data.
    64 bytes from 192.168.1.105 (192.168.1.105): icmp_seq=1 ttl=64 time=0.520 ms
    64 bytes from 192.168.1.105 (192.168.1.105): icmp_seq=2 ttl=64 time=0.480 ms
    
  • ssh 远程连接(实用场景):

    无需记 IP,直接用主机名.local连接局域网内的 Linux 设备:

    bash

    运行

    ssh root@ubuntu-pc.local  # 替换为实际用户名和主机名.local
    
  • Windows/macOS 兼容访问

    • Windows:打开命令提示符 / PowerShell,直接执行ping ubuntu-pc.local -n 2即可解析;
    • macOS:打开终端,用法和 Linux 完全一致。
进阶使用:Avahi 专属工具(精准查询 / 发现)

安装的avahi-utils/avahi-tools包含多个实用命令,可实现反向解析(IP 查主机名)扫描局域网所有 Avahi 设备等功能。

1. avahi-resolve:精准解析(主机名→IP / IP→主机名)
(1)主机名转 IP(替代 ping,仅输出 IP,适合脚本)

bash

运行

# 语法:avahi-resolve -n 主机名.local
avahi-resolve -n ubuntu-pc.local

输出:ubuntu-pc.local 192.168.1.105

(2)IP 转主机名(反向解析,查局域网 IP 对应的设备名)

bash

运行

# 语法:avahi-resolve -a 目标IP
avahi-resolve -a 192.168.1.105

输出:192.168.1.105 ubuntu-pc.local

2. avahi-browse:扫描局域网所有 Avahi 设备

一次性列出局域网内所有开启了 mDNS/Avahi/Bonjour的设备(Linux/Windows 10+/macOS/ 智能家居),包含设备名、IP、服务类型:

bash

运行

# 扫描所有局域网设备(-a 表示所有类型)
avahi-browse -a
3. avahi-discover:图形化扫描(有桌面环境时使用)

若 Linux 安装了图形桌面(如 GNOME/KDE),可直接打开图形化工具,可视化查看局域网设备,操作更直观:

bash

运行

avahi-discover

五、Avahi 常用配置修改(可选,默认无需改)

Avahi 安装后默认配置即可满足 99% 的使用场景,无需修改配置文件;若有特殊需求(如修改主机名、禁用 IPv6、修改广播域),可编辑核心配置文件/etc/avahi/avahi-daemon.conf

1. 编辑配置文件

bash

运行

sudo vim /etc/avahi/avahi-daemon.conf
2. 常用配置项修改(取消注释即可生效)

ini

[server]
host-name=linux-node  # 修改本机Avahi解析的主机名(默认和系统主机名一致)
domain-name=local     # 解析后缀(默认local,不建议改)
use-ipv4=yes          # 启用IPv4(必开,局域网主要用IPv4)
use-ipv6=no           # 禁用IPv6(避免解析干扰,可选)
allow-interfaces=eth0 # 仅在指定网卡广播(如eth0/ens33,默认所有网卡)

[wide-area]
enable-wide-area=no   # 禁用广域网解析,仅局域网生效(推荐)
3. 配置生效

修改配置后,重启 Avahi 服务即可生效:

bash

运行

sudo systemctl restart avahi-daemon

六、Avahi 卸载(如需清理)

若后续无需使用,可一键卸载,清理所有相关包和配置:

Debian/Ubuntu 系列

bash

运行

sudo apt remove avahi-daemon avahi-utils -y && sudo apt autoremove -y
CentOS/RHEL 系列

bash

运行

sudo yum remove avahi avahi-tools -y
Arch Linux/Manjaro 系列

bash

运行

sudo pacman -Rns avahi avahi-utils -y

七、常见问题排查

1. 局域网设备 ping 主机名.local 提示未知的主机
  • 检查本机 Avahi 服务是否正常运行(systemctl status avahi-daemon);
  • 检查防火墙是否放行 UDP 5353 端口(核心原因);
  • 确认两台设备在同一局域网(同一网段,如 192.168.1.x)。
2. 解析成功但延迟高
  • 禁用 IPv6(修改avahi-daemon.confuse-ipv6=no);
  • 关闭其他局域网解析服务(如 Samba 的 nmbd),避免冲突。
3. Windows 设备无法解析主机名.local
  • Windows 10/11 需安装Bonjour 服务(微软商店搜索 Bonjour 或安装 iTunes,自带 Bonjour);
  • 确保 Windows 防火墙未拦截 mDNS 流量(允许 “Bonjour 服务” 的网络访问)。

核心总结

  1. Avahi 核心是安装 + 启动服务 + 放行 5353/UDP 端口,三步即可实现局域网零配置解析;
  2. 所有解析均为主机名.local格式,无需记 IP,跨 Linux/Windows/macOS 兼容;
  3. 轻量无依赖,仅占几百 KB 内存,比 Samba 更适合仅需局域网解析的场景,无多余功能冗余。

通过Redsocks将Kali Linux的流量进行代理

Redsocks 是一个代理重定向工具,可以将流量通过 SOCKS 或 HTTP 代理传递。你可以使用它在 Kali Linux 中将流量通过代理服务器。以下是设置和使用 Redsocks 的步骤: 1. 安装 Redsocks Redsocks 通常在 Kali Linux 上不可用,需要手动安装。首先,确保你有 git 和 build-essential 工具: sudo apt-get update
sudo apt-get install git build-essential
  1 2   然后,从 GitHub 上克隆 Redsocks 源代码并编译: git clone https://github.com/darkk/redsocks.git
cd redsocks
make
sudo make install
  1 2 3 4   2. 配置 Redsocks Redsocks 的配置文件默认位于 /etc/redsocks.conf。你可以创建或编辑这个配置文件。 sudo nano /etc/redsocks.conf
  1   以下是一个典型的配置示例: base {
     log_debug = on;
     log_info = on;
     log = “file:/var/log/redsocks.log”;
     daemon = off;
     redirector = iptables;
}

redsocks {
     local_ip = 127.0.0.1;
     local_port = 12345;
     ip = 127.0.0.1;
     port = 9050;
     type = socks5;
     login = “your_login”;
     password = “your_password”;
}
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17   • local_ip 和 local_port 是 Redsocks 在本地监听的地址和端口。 • ip 和 port 是你要连接的代理服务器的地址和端口。 • type 可以是 socks4, socks5, http-connect, http-relay 等。 • 如果代理不需要身份验证,可以省略 login 和 password。  3. 设置 iptables 规则 使用 iptables 将流量重定向到 Redsocks 监听的端口: sudo iptables -t nat -N REDSOCKS
sudo iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT –to-ports 12345
sudo iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
  1 2 3 4 5 6 7 8 9 10 11   这些规则会将本地 TCP 流量重定向到 Redsocks 监听的端口(此处为 12345)。 4. 启动 Redsocks 配置完成后,你可以启动 Redsocks: sudo redsocks -c /etc/redsocks.conf
  1   你可以将 Redsocks 作为后台守护进程运行,也可以在前台测试时查看日志输出。 5. 验证配置 启动 Redsocks 后,你可以尝试访问外网,使用curl来测试: curl -I https://www.google.com
  1   如果配置正确,你的流量应该通过代理服务器转发,并可以成功访问外网。 6. 停止和清理 如果你不再需要使用 Redsocks,可以停止 Redsocks 进程并清除 iptables 规则: sudo killall redsocks
sudo iptables -t nat -F REDSOCKS
sudo iptables -t nat -D OUTPUT -p tcp -j REDSOCKS
sudo iptables -t nat -X REDSOCKS
  1 2 3 4   这将停止 Redsocks 并还原网络配置。 通过这些步骤,你可以在 Kali Linux 中使用 Redsocks 将流量通过代理服务器。

linux系统上查询ip地址归属

查询本机外网ip:

[root@myzdl ~]# curl  cip.cc
IP	: 218.17.42.12
地址	: 中国  广东  深圳
运营商	: 电信

数据二	: 广东省深圳市宝安区 | 电信

数据三	: 中国广东省深圳市 | 电信

URL	: https://www.cip.cc/218.17.42.12

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

查询67.12.34.126的归属地:

[root@myzdl ~]# curl  cip.cc/67.12.34.126
IP	: 67.12.34.126
地址	: 美国  美国

数据二	: 美国

数据三	: 

URL	: https://www.cip.cc/67.12.34.126

redhat 8.3 vnc 配置

redhat 8.3 的VNC 配置与其他的redhat 版本不太一样,其他版本在安装tigervnc tigervnc-server 后直接执行vncserver 就可以了, 8.3执行vncserver将会出现如下信息:

# vncserver

vncserver has been replaced by a systemd unit.

Please read /usr/share/doc/tigervnc/HOWTO.md for more information.

网上好多文章都说配置 vncserver@:1.service 里边内容大致为

clip_image001

[Unit]

Description=Remote desktop service (VNC)

After=syslog.target network.target

[Service]

Type=forking

WorkingDirectory=/root

User=root

Group=root

PIDFile=/root/.vnc/%H%i.pid

ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’

ExecStart=/usr/bin/vncserver -autokill %i

ExecStop=/usr/bin/vncserver -kill %i

[Install]

WantedBy=multi-user.target

clip_image001[1]

但是在redhat8.3 中执行ExecStart 中的脚本 /usr/bin/vncserver 就不能成功,所以这个方法在这里不适用。

/usr/share/doc/tigervnc/HOWTO.md 已经对配置进行里讲解,HOWTO.md  内容如下:

View Code

下边是我的操作 redhat 8.3 配置VNC 步骤:

1. 安装VNC

yum install xdpyinfo

yum install tigervnc tigervnc-server

2.创建vncserver.users

vim /etc/tigervnc/vncserver.users

:1=root

:2=oracle

:3=tester

3.修改vncserver-config-defaults , 如果添加一行localhost ,外部不能访问

clip_image001[2]

vim /etc/tigervnc/vncserver-config-defaults

session=gnome

securitytypes=vncauth,tlsvnc

desktop=sandbox

geometry=2000×1200

alwaysshared

clip_image001[3]

4.修改vncserver-config-mandatory ,如果添加一行localhost ,外部不能访问

vim /etc/tigervnc/vncserver-config-mandatory

securitytypes=vncauth,tlsvnc

desktop=sandbox

geometry=2000×1200

alwaysshared

5.创建config 文件

vim $HOME/.vnc/config

session=gnome

geometry=1000×1200

6.创建vncserver.users

vim /etc/tigervnc/vncserver.users

:1=root

:2=oracle

:3=tester

7.复制vncserver@x.service 文件(这步可能可以省略)

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

这个文件告诉你关于配置外部访问的一些信息

View Code

8.设置vnc 密码

如果你想用tester用户让外部连接,就用tester 用户执行,执行后会在$HOME/.vnc/ 下生成passwd 文件

vncpasswd

9.启动vnc

其中的3 指的是/etc/tigervnc/vncserver.users 中对应的用户, 3 就是tester

systemctl daemon-reload

systemctl stop vncserver@:3

systemctl start vncserver@:3

systemctl status vncserver@:3

10.check

如果vncserver-config-defaults 和vncserver-config-mandator 配置了localhost,下边红框中将显示为127.0.0.1:5903 ,导致外部不能访问

netstat -tnlp

11. 外部连接

用tester执行

export DISPLAY=:3

xhost +

其中 3 这个数字是在 /etc/tigervnc/vncserver.users 中配置,出现如下输出表示成功

到这里vnc 配置完成,可以在外部连接。

2020.12.20

GZF

centos添加新的分辨率

(1)首先使用 xrandr 命令列出当前所能检测到的分辨率,如一台显示器,最佳分辨率为 1440×900,由于
未能正确检测,使用 xrandr 命令结果如下:

Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
VGA1 connected 1440×900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1360×768 59.8
1024×768 60.0
800×600 60.3 56.2
848×480 60.0
640×480 59.9 59.9
可以看到当前使用的显卡是 VGA1(后续显示模式在此显卡上添加),列表中并无 1440×900 的分别率可用。
(2)这时可以使用 xrandr 命令新增显示模式,由于显示模式有一定的格式,如果不知道如何配置,可以通过
cvt 来获得。
(3)cvt 使用方法:cvt X Y,X 表示分辨率宽度,Y 表示分辨率高度。如生成 1400×900 的分辨率,可使
用命令:
cvt 1440 900
默认刷新率为 60.0Hz。生成以下模式:
# 1440×900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline “1440x900_60.00” 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
(4)将 cvt 得到的显示模式使用 xrandr 命令添加:
sudo xrandr –newmode “1440×900” 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
sudo xrandr –addmode VGA1 1440×900
sudo xrandr –output VGA1 –mode 1440×900
(5)这时就可以在显示器分辨率设置里使用 1440×900 的分辨率了。
(6)可能在每次开机时,又不能使用设定好的分辨率了,使用如下命令:
sudo gedit ~/.profile
在 ~/.profile 最末尾添加修改分辨率的命令:
复制代码
xrandr –newmode “1440×900” 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr –addmode VGA1 1440×900
xrandr –output VGA1 –mode 1440×900
重启系统后再登录即可,此时再用 xrandr 命令,即可看到新添加的分辨率。

CentOS7使用firewall-cmd打开关闭防火墙与端口

2018年07月10日 00:32:47 朽木o0 阅读数 24124更多

分类专栏: Linux

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/s_p_j/article/details/80979450

一、centos7版本对防火墙进行加强,不再使用原来的iptables,启用firewalld
  1. 1.firewalld的基本使用

  2. 启动: systemctl start firewalld

  3. 查状态:systemctl status firewalld

  4. 停止: systemctl disable firewalld

  5. 禁用: systemctl stop firewalld

  6. 在开机时启用一个服务:systemctl enable firewalld.service

  7. 在开机时禁用一个服务:systemctl disable firewalld.service

  8. 查看服务是否开机启动:systemctl is-enabled firewalld.service

  9. 查看已启动的服务列表:systemctl list-unit-files|grep enabled

  10. 查看启动失败的服务列表:systemctl --failed

  1. 2.配置firewalld-cmd

  2. 查看版本: firewall-cmd --version

  3. 查看帮助: firewall-cmd --help

  4. 显示状态: firewall-cmd --state

  5. 查看所有打开的端口: firewall-cmd --zone=public --list-ports

  6. 更新防火墙规则: firewall-cmd --reload

  7. 查看区域信息: firewall-cmd --get-active-zones

  8. 查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

  9. 拒绝所有包:firewall-cmd --panic-on

  10. 取消拒绝状态: firewall-cmd --panic-off

  11. 查看是否拒绝: firewall-cmd --query-panic

  1. 3.那怎么开启一个端口呢

  2. 添加

  3. firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)

  4. firewall-cmd --zone=public --add-service=http --permanent

  5. firewall-cmd --reload # 重新载入,更新防火墙规则

  6. firewall-cmd --zone= public --query-port=80/tcp #查看

  7. firewall-cmd --zone= public --remove-port=80/tcp --permanent # 删除

  8. firewall-cmd --list-services

  9. firewall-cmd --get-services

  10. firewall-cmd --add-service=<service>

  11. firewall-cmd --delete-service=<service>

  12. 在每次修改端口和服务后/etc/firewalld/zones/public.xml文件就会被修改,所以也可以在文件中之间修改,然后重新加载

  13. 使用命令实际也是在修改文件,需要重新加载才能生效。

  14. firewall-cmd --zone=public --query-port=80/tcp

  15. firewall-cmd --zone=public --query-port=8080/tcp

  16. firewall-cmd --zone=public --query-port=3306/tcp

  17. firewall-cmd --zone=public --add-port=8080/tcp --permanent

  18. firewall-cmd --zone=public --add-port=3306/tcp --permanent

  19. firewall-cmd --zone=public --query-port=3306/tcp

  20. firewall-cmd --zone=public --query-port=8080/tcp

  21. firewall-cmd --reload  # 重新加载后才能生效

  22. firewall-cmd --zone=public --query-port=3306/tcp

  23. firewall-cmd --zone=public --query-port=8080/tcp

  1. 4.参数解释

  2. –add-service #添加的服务

  3. –zone #作用域

  4. –add-port=80/tcp #添加端口,格式为:端口/通讯协议

  5. –permanent #永久生效,没有此参数重启后失效

  1. 5.详细使用

  2. firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept' //设置某个ip访问某个服务

  3. firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept' //删除配置

  4. firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept' //设置某个ip访问某个端口

  5. firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept' //删除配置

  6. firewall-cmd --query-masquerade # 检查是否允许伪装IP

  7. firewall-cmd --add-masquerade # 允许防火墙伪装IP

  8. firewall-cmd --remove-masquerade # 禁止防火墙伪装IP

  9. firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将80端口的流量转发至8080

  10. firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1 # 将80端口的流量转发至192.168.0.1

  11. firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 将80端口的流量转发至192.168.0.1的8080端口

二、centos7以下版本
  1. 1.开放80,22,8080 端口

  2. /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

  3. /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

  4. /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

  5. 2.保存

  6. /etc/rc.d/init.d/iptables save

  7. 3.查看打开的端口

  8. /etc/init.d/iptables status

  9. 4.关闭防火墙

  10. 1) 永久性生效,重启后不会复原

  11. 开启: chkconfig iptables on

  12. 关闭: chkconfig iptables off

  13. 2) 即时生效,重启后复原

  14. 开启: service iptables start