Linux学习笔记

Linux笔记

iptables路由转发

一、Linux开启路由转发功能

## 临时生效:
echo "1" > /proc/sys/net/ipv4/ip_forward

## 永久生效的话,需要修改sysctl.conf:
net.ipv4.ip_forward = 1

## 立即生效
sysctl -p

二、iptables的启停服务

## 启动命令
service iptables start

## 查看状态命令
service iptables status

## 重启命令
service iptables restart

## 停止命令
service iptables stop

## 永久性生效,重启后不会复原
chkconfig iptables off

## 永久性保存:
iptables-save > /etc/sysconfig/iptables
service iptables save

注意:

  • 执行service iptables status这个命令后,部分linux系统返回iptables的服务状态:active,部分linux系统会返回iptables的4表5链的所有的规则内容.

  • iptables的配置文件路径:/etc/sysconfig/iptables.

  • iptables规则执行后是临时的,重启服务后会丢失,如果需要永久保存,则需要保存到配置文件service iptables save.

  • 查看iptables规则必须通过命令来查看iptables -L,部分临时生效的规则在配置文件中不会体现.

  • iptables默认规则里面有两条规则会导致nat转发功能失效,请注意,目前没有找到具体解决方案,既保证只开放IP能访问,又能进行nat地址转换,需后续研究。

    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    

三、iptables基本命令

  • iptables -L

    iptables -L命令是用来查看iptables防火墙的规则的。它会列出所有的iptables规则,包括输入、输出、转发等方向的规则。

  • iptables -L -t nat -n

    iptables -L -t nat -n命令是用来查看iptables防火墙中nat表的所有规则的。其中,-t nat 表示查看nat表,-n 表示以数字形式显示地址和端口号,不进行域名解析。

  • iptables -t net -F

    iptables -t net -F 命令是用来清空net表中的所有规则的。其中,-t 表示选择net表,-F 表示清空该表中的所有规则。

  • iptables -t filter -F

    iptables -t net -F 命令是用来清空net表中的所有规则的。其中,-t 表示选择net表,-F 表示清空该表中的所有规则。

四、开放端口号

iptables -I INPUT 2 -p tcp --dport 8080 -j ACCEPT

这个命令表示在iptables防火墙中添加一条规则,允许从外部网络通过TCP协议连接到本地主机的8080端口。具体解释如下:

  • -I INPUT: 表示将规则添加到INPUT链中;
  • 2: 表示将规则放在INPUT链的第2个位置上;
  • -p tcp: 表示规则适用于TCP协议;
  • --dport 8080: 表示规则适用于目标端口号为8080的数据包;
  • -j ACCEPT: 表示接受符合上述条件的数据包。

五、nat网络地址转换

iptables -t nat -A PREROUTING -p tcp --dport 9560 -j DNAT --to-destination 192.168.230.250:20060
iptables -t nat -A POSTROUTING -d 192.168.230.250 -p tcp -j SNAT --to-source 192.168.230.251

以上两个命令都是用于设置 NAT(网络地址转换)规则,具体解释如下:

  1. iptables -t nat -A PREROUTING -p tcp --dport 9560 -j DNAT --to-destination 192.168.230.250:20060

    这个命令的作用是将源地址为本地计算机、目标端口为9560的 TCP 数据包的目标 IP 地址和端口号进行转换。转换后,目标 IP 地址变为 192.168.230.250,端口号变为 20060。这样,当本地计算机向目标地址 192.168.230.250:20060 发送数据时,就会被路由器转发出去。

  2. iptables -t nat -A POSTROUTING -d 192.168.230.250 -p tcp -j SNAT --to-source 192.168.230.251

    这个命令的作用是将目标地址为 192.168.230.250、目标端口为 TCP 的数据包的源 IP 地址进行转换。转换后,源 IP 地址变为本地计算机的私有 IP 地址(通常为 192.168.230.x),从而隐藏了真实源 IP 地址。这样,当路由器将数据包从内部网络发送到外部网络时,就会使用转换后的源 IP 地址进行传输。

文件,日志搜索

一、log日志搜索

这个命令的作用是在当前目录及其子目录中查找所有以 “log-2023-07-01” 开头,并以 “.log” 结尾的文件,然后在这些文件中搜索包含 “AAAAAAAAAAAAAAAAA” 的行,并显示该行的上下各10行。

find . -type f -name "log-2023-07-01*.log" | xargs grep -A 10 -B 10 "AAAAAAAAAAAAAAAAA"

解析:

  • grep:用于在文件中搜索匹配的文本。
  • -r:递归搜索子目录。
  • -n:显示匹配行的行号。
  • -w:匹配整个单词。
  • ^log-2023-07:匹配以 “log-2023-07” 开头的行。
  • -A 10:显示匹配行的上10行。
  • -B 10:显示匹配行的下10行。
  • --include='*.log':只搜索以 “.log” 结尾的文件。
  • -e '哈哈':搜索包含 “哈哈” 的行。
  • .:指定搜索的目录。
grep -rnw '^log-2023-07' -A 10 -B 10 --include='*.log' -e '哈哈' .

SVN服务部署和使用

一、Linux服务器部署

1、检查安装

  • 检查是否安装了svn

    rpm -qa subversion
    
  • 卸载安装

    yum -y  remove subversion
    

2、安装SVN

  • 安装

    yum -y install subversion
    
  • 查看svn版本

    svn --version
    

3、创建目录

  • 创建svn目录

    mkdir -p /usr/local/svn/svnrepos
    
  • 创建版本库

    svnadmin create /usr/local/svn/svnku
    

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    其中conf文件夹下存放的是SVN的配置文件

4、配置

  • 创建用户及密码

    cd /usr/local/svn/svnku/conf
    vim passwd
    

    img

    在[user]标签下加入

    用户名=密码

    [users]
    admin=admin@123
    test=123456
    

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 权限配置

  • 配置SVN服务配置文件svnserve.conf

    anon-access = none              #禁止匿名用户访问
    auth-access = write             #授权用户可写
    password-db = passwd            #使用哪个文件作为账号文件
    authz-db = authz                #使用哪个文件作为权限文件
    realm = /usr/local/svn/svnku    #认证空间名,版本库所在目录
    

5、启动与停止SVN服务

  • 启动服务

    svnserve -d -r /usr/local/svn/svnku
    
  • 查看svn是否运行

    ps -ef|grep svnserve
    

    img

  • 停止服务

    kill -9 8128
    

6、设置开机自启

  • 在 /etc/sysconfig 路径下修改svnserve文件

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    img

  • 执行

    systemctl enable svnserve.service
    

    img

二、svn在IDEA使用

  • 本地代码分享到SVN仓库
  • 从仓库拉去新的代码分支
  • idea中分支代码切换
  • idea中代码合并

(拉取代码,创建分支,合并代码)
1cf47eca3dd644fdb80c0cf3a287e8e3.png)

  • 执行

    systemctl enable svnserve.service
    

    img

二、svn在IDEA使用

  • 本地代码分享到SVN仓库
  • 从仓库拉去新的代码分支
  • idea中分支代码切换
  • idea中代码合并

(拉取代码,创建分支,合并代码)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值