当前位置: 首页 > news >正文

[Ubuntu][网络][教程]端口转发以及端口管理

1. 平台介绍

  • Ubuntu 20.04 LTS

  • Armv7

    image-20230328185234422

2. 端口管理

进行端口转发之前,要先对端口进行一系列设置

2.1 安装ufw

sudo apt install ufw

2.2 开启22端口

开启ufw之后,默认的22端口不会自动打开,使用SSH的话需要手动打开

sudo ufw allow 22

如果需要关闭端口

sudo ufw delete allow 22

查看端口开启状态

sudo ufw status

2.3 开启ufw

sudo ufw enable
sudo ufw default deny  # 默认关闭所有访问

3. 端口转发

3.1 开启Linux内核转发功能

编辑/etc/sysctl.conf文件

将net.ipv4.ip_forward = 0
修改为:net.ipv4.ip_forward = 1  #开启内核转发功能

下面的命令使得配置修改生效

sudo sysctl -p

3.2 添加iptables规则

此处使用iptables进行转发

这里以8899端口为例,将192.168.0.108的数据转发到192.168.3.51,反之从192.168.5.1转发到192.168.0.108

sudo iptables -t nat -A PREROUTING -p udp --dport 8899 -j DNAT --to-destination 192.168.3.53:8899
sudo iptables -t nat -A POSTROUTING -p udp -d 192.168.3.53 --dport 8899 -j SNAT --to-source 192.168.0.108

如果需要删除iptables规则

首先列出已添加的规则

sudo iptables -t nat -L -n

示例:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:192.168.3.53:80
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8899 to:192.168.3.53:8899
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:8899 to:192.168.3.53:8899
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:554 to:192.168.3.53:554
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:554 to:192.168.3.53:554
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:3702 to:192.168.3.53:3702
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3702 to:192.168.3.53:3702Chain INPUT (policy ACCEPT)
target     prot opt source               destinationChain OUTPUT (policy ACCEPT)
target     prot opt source               destinationChain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0
SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:80 to:192.168.0.108
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0
SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:8899 to:192.168.0.108
SNAT       udp  --  0.0.0.0/0            192.168.3.53         udp dpt:8899 to:192.168.0.108
SNAT       udp  --  0.0.0.0/0            192.168.3.53         udp dpt:554 to:192.168.0.108
SNAT       udp  --  0.0.0.0/0            192.168.3.53         udp dpt:3702 to:192.168.0.108
SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:3702 to:192.168.0.108
SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:554 to:192.168.0.108

比如我要删除这条规则

DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3702 to:192.168.3.53:3702

因为其在PREROUTING链里,然后其位于第7个,所以执行

iptables -t nat -D PREROUTING 7

如果我要删除这条规则

SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:554 to:192.168.0.108

因为其在POSTROUTING链里,然后其位于第7个,所以执行

iptables -t nat -D POSTROUTING 7

3.3 放行转发命令(重要)

此处因为使用无线网卡进行转发,所以其网卡名为wlan0

# 放行Forward的数据包
iptables -I FORWARD -i wlan0 -j ACCEPT
# 开启网卡混杂模式(允许任意流向的数据包)
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

3.4 开启端口

使用上面配置的ufw进行端口管理

由于我转发了8899端口,因此将8899端口打开

sudo ufw allow 8899

4. 查看状态

4.1 查看端口开启状态

sudo ufw status

3.6 列出转发规则

sudo iptables -t nat -L -n

执行命令后列出的和添加iptables中删除iptables规则里面的示例一样。

5. 参考

iptables端口转发配置实现_iptables 开启转发_C3399的博客-CSDN博客

ubuntu的ufw如何开放特定端口?_ufw开启端口_justheretobe的博客-CSDN博客

http://www.lryc.cn/news/44511.html

相关文章:

  • @Scheduled 定时任务不执行
  • 我是怎样被卷的(二)
  • Linux- 浅谈ELF目标文件格式
  • C++ MVC模式
  • IntelliJ IDEA2021安装教程
  • day16—选择题
  • LLVM 的中间代码(IR) 基本语法
  • 多标签在单行出现省略的实现
  • 第二十七章 纹理总结
  • 【Linux面试】-(腾讯,百度,美团,滴滴)
  • 编译链接和预处理
  • 基于sprinmgboot实现实习管理系统的设计【源码+论文】
  • 动态规划入门
  • day26 SpringBootWeb案例(二)
  • 力扣-《剑指offer》-哈希表-刷题笔记
  • 【SpringBoot】| 邮箱发送验证码,你会了吗?
  • Linux系统安装部署及配置Grafana
  • Python3 入门教程||Python3 输入和输出||Python3 File 方法
  • 有效的字母异位词(力扣刷题)
  • 73、介绍下 HashMap 的底层数据结构
  • 系统集成路由器OSPF动态、综合路由配置
  • 【力扣周赛 338】
  • 大数据Flink进阶(八):Apache Flink架构介绍
  • Mars3d项目启动上的一些坑
  • 通俗易懂【Springboot】 单文件下载和批量下载(多个文件合成一个压缩包下载)
  • CnOpenData中国行政区划shp数据
  • GPT-4零失误通关大厂模拟面试,offer拿到手软?与AGI首次接触
  • Hardhat 环境搭建及教程示例
  • 复杂链表的复制-剑指Offer35-java
  • 【Linux】进程理解与学习Ⅰ-进程概念