iptables问题(开放防火墙)

iptables问题(开放防火墙)

进入sbin

sbin# ls

如下:

root@iZ0srtmu41khg6Z:/sbin# ls
acpi_available   dosfslabel        fsck.fat      installkernel      MAKEDEV           modprobe               plymouthd     start-stop-daemon
agetty           dumpe2fs          fsck.minix    ip                 mii-tool          mount.fuse             poweroff      sulogin
apm_available    e2fsck            fsck.msdos    ip6tables          mkdosfs           mount.lowntfs-3g       rarp          swaplabel
apparmor_parser  e2image           fsck.nfs      ip6tables-restore  mke2fs            mount.ntfs             raw           swapoff
badblocks        e2label           fsck.vfat     ip6tables-save     mkfs              mount.ntfs-3g          reboot        swapon
blkdiscard       e2undo            fsfreeze      ipmaddr            mkfs.bfs          nameif                 regdbdump     switch_root
blkid            ebtables          fstab-decode  ipset              mkfs.cramfs       ntfsclone              resize2fs     sysctl
blockdev         ebtables-restore  fstrim        iptables           mkfs.ext2         ntfscp                 resolvconf    tc
brctl            ebtables-save     getcap        iptables-restore   mkfs.ext3         ntfslabel              rmmod         telinit
bridge           ecs_mq_rps_rfs    getpcaps      iptables-save      mkfs.ext4         ntfsresize             route         tipc
capsh            ethtool           getty         iptunnel           mkfs.ext4dev      ntfsundelete           rtacct        tune2fs
cfdisk           fatlabel          halt          isosize            mkfs.fat          on_ac_power            rtmon         udevadm
chcpu            fdisk             hdparm        iw                 mkfs.minix        pam_extrausers_chkpwd  runlevel      unix_chkpwd
crda             findfs            hwclock       kbdrate            mkfs.msdos        pam_extrausers_update  runuser       unix_update
ctrlaltdel       fsck              ifconfig      killall5           mkfs.ntfs         pam_tally              setcap        ureadahead
debugfs          fsck.cramfs       ifdown        ldconfig           mkfs.vfat         pam_tally2             setvtrgb      wipefs
depmod           fsck.ext2         ifquery       ldconfig.real      mkhomedir_helper  parted                 sfdisk        xtables-multi
dhclient         fsck.ext3         ifup          logsave            mkntfs            partprobe              shadowconfig  zramctl
dhclient-script  fsck.ext4         init          losetup            mkswap            pivot_root             shutdown
dosfsck          fsck.ext4dev      insmod        lsmod              modinfo           plipconfig             slattach

里面有iptables 和 iptables-save

iptables-save

中间部分代码:

-A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8889 -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INPUT_direct
-A INPUT -j INPUT_ZONES_SOURCE
-A INPUT -j INPUT_ZONES
-A INPUT -p icmp -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A FORWARD -j DOCKER-ISOLATION
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -j FORWARD_direct
-A FORWARD -j FORWARD_IN_ZONES_SOURCE
-A FORWARD -j FORWARD_IN_ZONES
-A FORWARD -j FORWARD_OUT_ZONES_SOURCE
-A FORWARD -j FORWARD_OUT_ZONES
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -j OUTPUT_direct
-A DOCKER-ISOLATION -j RETURN
-A FORWARD_IN_ZONES -g FWDI_public
-A FORWARD_OUT_ZONES -g FWDO_public
-A FWDI_public -j FWDI_public_log
-A FWDI_public -j FWDI_public_deny
-A FWDI_public -j FWDI_public_allow
-A FWDO_public -j FWDO_public_log
-A FWDO_public -j FWDO_public_deny
-A FWDO_public -j FWDO_public_allow
-A INPUT_ZONES -g IN_public
-A IN_public -j IN_public_log
-A IN_public -j IN_public_deny
-A IN_public -j IN_public_allow
-A IN_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 1433 -m conntrack --ctstate NEW -j ACCEPT

我配置的这个如下无效

-A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT

修改如下

iptables -A IN_public_allow -p tcp -m tcp --dport 6379 -m conntrack --ctstate NEW -j ACCEPT

再次查看

iptables-save

显示部分代码如下

-A IN_public -j IN_public_allow
-A IN_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 1433 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 6379 -m conntrack --ctstate NEW -j ACCEPT

客户端测试成功!

ps:如果有什么地方有问题,请赐教。转载请注明出处,谢谢。

### 如何在 CentOS 7 中使用 iptables 配置规则来开放指定端口 #### 准备工作 在开始配置之前,确保系统的 `iptables` 已经安装并启动。如果未启用,则可以通过以下命令进行操作: ```bash sudo yum install -y iptables-services sudo systemctl start iptables sudo systemctl enable iptables ``` #### 添加开放端口规则 为了开放某个特定的端口(例如80端口),可以按照如下方式进行设置: 1. **添加允许入站流量的规则** 执行以下命令以允许外部访问该端口上的服务: ```bash sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT ``` 这条命令的作用是向 `INPUT` 链中追加一条规则,允许目标端口号为80的TCP数据包通过防火墙[^4]。 2. **保存规则以便持久化** 默认情况下,在重新启动服务器之后,上述修改可能会丢失。因此需要保存当前的 `iptables` 规则集到文件中,从而使其永久有效。 可以运行下面这条指令完成保存动作: ```bash sudo service iptables save ``` 3. **验证新加入的规则是否成功应用** 查看现有的所有规则列表,并查找刚刚新增的内容是否存在以及状态正常与否: ```bash sudo iptables -L -n -v ``` 此处会显示详细的表项详情,包括匹配条件、计数器数值等信息[^2]。 #### 自动加载规则于每次开机时 除了手动调用 `service iptables save` 命令外,还有另一种更推荐的方法就是利用 `firewalld` 或者直接编辑 `/etc/sysconfig/iptables` 文件实现自动化管理目的[^3]。 对于后者而言,只需将自定义好的策略写回到对应位置即可;而对于前者来说,则需调整相关参数让其支持兼容模式下的恢复功能。 --- ### 示例脚本:批量处理多个端口开启需求 当存在大量同类型的网络通信请求待解决时,可考虑编写简单的Shell Script简化流程: ```bash #!/bin/bash ports=(80 443 22) for port in "${ports[@]}";do echo "Opening Port $port..." sudo iptables -A INPUT -p tcp --dport "$port" -j ACCEPT done echo "Saving Iptables Rules..." sudo service iptables save echo "Rules have been updated and saved." ``` 此段程序能够一次性打开数组变量所列举出来的全部端口资源供外界连接使用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值