欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux时间设置与iptables命令

程序员文章站 2022-06-03 08:18:10
...

Linux时间设置与iptables命令

日期与时间设置

timedatectl:显示目前时区与时间等信息

eg:

[root@localhost zhang]# timedatectl
      Local time: Thu 2018-01-18 10:13:55 UTC
  Universal time: Thu 2018-01-18 10:13:55 UTC
        RTC time: Thu 2018-01-18 10:13:54
        Timezone: UTC (UTC, +0000)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

时区的调整

timedatectl set-timezone "Asia/Shanghai"设置时区为上海

eg:

timedatectl set-timezone "Asia/Shanghai"
[[email protected] zhang]# timedatectl
      Local time: Thu 2018-01-18 18:15:46 CST
  Universal time: Thu 2018-01-18 10:15:46 UTC
        RTC time: Thu 2018-01-18 10:15:46
        Timezone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

时间的调整

timedatectl set-time "2018-01-18 16:18"

eg:

[[email protected] zhang]# timedatectl set-time "2018-01-20 20:20"
[[email protected] zhang]# timedatectl
      Local time: Sat 2018-01-20 20:20:06 CST
  Universal time: Sat 2018-01-20 12:20:06 UTC
        RTC time: Sat 2018-01-20 12:20:06
        Timezone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

hwcdate:自动更新时间

eg:

[[email protected] zhang]# hwclock
Thu 18 Jan 2018 06:21:41 PM CST  -0.896079 seconds

防火墙设置

iptables命令

iptables命令时Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。

iptables语法:

iptables (选项)(参数)

iptables选项和参数

  • -t <table>:指定要操作的表
  • -A:向规则链中添加条目
  • -D:从规则链中删除条目
  • -i:向规则链中插入条目
  • -R:替换规则链中的条目
  • -L:显示规则链中已有的条目
  • -F:清楚规则链中已有的条目
  • -Z:清空规则链中的数据包计算器和字节计数器
  • -N:创建新的用户自定义规则链
  • -P:定义规则链中的默认目标
  • -h:显示帮助信息
  • -p:指定要匹配的数据包协议类型
  • -s:指定要匹配的数据包源ip地址
  • -j <目标>:指定要跳转的目标
  • -i <网络接口>:指定数据包进入本机的网络接口
  • -o <网络接口>:指定数据包要离开本机所使用的的网络接口

iptables命令选项输入顺序

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-sIP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

iptables的表名包括:

  • raw:高级功能。如:网址过滤

  • mangle:数据包修改,用于实现服务质量

  • net:地址转换,用于网关路由器。

  • filter:包过滤,用于防火墙规则。

规则链名包括:

  • INPUT链:处理输入数据包

  • OUTPUT链:处理输出数据包

  • PORWARE链:处理转发数据包

  • PREROUTING链:用于目标地址转换(DNAT)

  • POSTOUTING链:用于源地址转换(SNAT)

动作包括:

  • ACCEPT:接收数据包
  • DROP:丢弃数据包
  • REDIRECT:重定向、映射、透明代理。
  • SNAT:源地址转换
  • DNAT:目标地址转换
  • MASQUERADE:IP伪装(NAT),用于ADSL。
  • LOG:日志记录

实例

清除已有iptables规则:

iptables -F

iptables -X

iptables -Z

开放指定的端口

# 允许本地回环地址接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

# 允许已建立的或相关联的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT

# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    

#允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT    

#允许FTP服务的20端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT  

#禁止其他未允许的规则访问
iptables -A INPUT -j reject

#禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT     

屏蔽IP

#屏蔽单个IP
iptables -I INPUT -s 192.168.170.131 -j DROP

#封整个段即从192.0.0.1到192.255.255.254的命令
iptables -I INPUT -s 192.0.0.0/8 -j DROP     

#封IP段即从192.168.0.1到192.168.255.254的命令
iptables -I INPUT -s 192.168.0.0/16 -j DROP  

#封IP段即从192.168.170.1到192.168.170.254的命令是
iptables -I INPUT -s 192.168.170.0/24 -j DROP    

查看已添加的iptables规则

[[email protected] zhang]# iptables -L -n -v 
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    1    56 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    1    84 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    5  1645 INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    5  1645 INPUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    5  1645 INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    5  1645 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0   

...

将所有iptables以序号标记显示,执行

[[email protected] zhang]# iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
3    INPUT_direct  all  --  0.0.0.0/0            0.0.0.0/0           
4    INPUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0           
5    INPUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0           
6    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
7    REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
3    FORWARD_direct  all  --  0.0.0.0/0            0.0.0.0/0           
4    FORWARD_IN_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0           
5    FORWARD_IN_ZONES  all  --  0.0.0.0/0            0.0.0.0/0           
6    FORWARD_OUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0           
7    FORWARD_OUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0           
8    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
9    REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

...

删除已添加的iptables规则

iptables -D INPUT 8