个人工具

UbuntuHelp:Firestarter

来自Ubuntu中文

跳转至: 导航, 搜索

<<Include(Tag/ContentCleanup)>>

Introduction

Firestarter is an application for configuring your Ubuntu (GNU/Linux) firewall. For an overview of firewalls, please see Firewall.

Key Features

  • Suitable for use on desktops, servers and gateways
  • Enables Internet connection sharing
  • Allows you to define both inbound and outbound access policy
  • Wizard for easily configuring your firewall
  • Sets up DHCP for a local network
  • Real time firewall events view
  • View active network connections, including any traffic routed through the firewall

Screenshots

Firestarter?action=AttachFile&do=get&target=scrn-firestarter.jpg <
> Firestarter?action=AttachFile&do=get&target=scrn-firestarter-prefs.jpg

Installation

sudo apt-get install firestarter

Hints and Tips

Initial settings

Go under Edit -> Preferences.

Interface tab

  • Check "Enable tray icon" and "Minimize to tray on window close".
  • Your firewall will be active when you boot regardless of if you choose to activate the tray icon or not.

Policy tab (under Interface)

  • Check the "Apply policy changes immediately".

Firewall tab

Network Settings

  • Select your interface

ICMP Filterings

  • Select "Enable ICMP filtering".
  • Check (enable) "Echo request (ping)" and "Echo reply (pong)" for network connection testing/troubleshooting

Main window

To disable your firewall Firewall -> Stop firewall To re-enable Firewall -> Start firewall You have three tabs :

Status window

Shows general information.

Events

This window will show blocked events.

  • To allow a blocked connection, select the blocked connection, right click and select from the pull down menu.

Policy

This is where you can set and review connection policies. This view is split, the upper view is for Hosts and the lower window is for Services aka Ports. To make a new policy, right click in either window and choose "Add rule" from the pull down menu.

  • To enable your LAN, use something like 192.168.1.1/24

To edit an existing policy select the appropriate policy in the window, right click, and select "Remove Rule" to delete the policy and "Edit rule" to modify the policy.

Troubleshooting

NetworkManager

Apparently there is a conflict between Firestarter and NetworkManager. The "fix" is to edit /etc/firestarter/firestarter.sh

gksu gedit /etc/firestarter/firestarter.sh

Comment out :

if [ "$MASK" = "" -a "$1" != "stop" ]; then
echo "External network device $IF is not ready. Aborting.."
exit 2
fi

Like this:

#if [ "$MASK" = "" -a "$1" != "stop" ]; then
#echo "External network device $IF is not ready. Aborting.."
#exit 2
#fi

Save your changes and re-boot.

Stalled connections

When you use internet connection with traffic limiting by dropping packets (for example, ADSL ISP) firestarter may be a cause stalling TCP connections. For example, when you try to scp some megabytes, process hangs up and scp writes "stalled". This problem is due to bug #258863 in firestarter. Firestarter contains script (/etc/firestarter/sysctl-tuning), that disables in kernel some TCP mechanisms, that are responsible for effective connection in network with packet loss: SACK, Window-scaling and TCP-timestamps. If you have such problems, consider using UFW or comment out following lines in the script mentioned above (I have not tested this):

# Turn off TCP Timestamping in kernel
if [ -e /proc/sys/net/ipv4/tcp_timestamps ]; then
  echo 0 > /proc/sys/net/ipv4/tcp_timestamps
fi

# Set TCP Re-Ordering value in kernel to '5'
if [ -e /proc/sys/net/ipv4/tcp_reordering ]; then
  echo 5 > /proc/sys/net/ipv4/tcp_reordering
fi

# Turn off TCP ACK in kernel
if [ -e /proc/sys/net/ipv4/tcp_sack ]; then
  echo 0 > /proc/sys/net/ipv4/tcp_sack
fi

#Turn off TCP Window Scaling in kernel
if [ -e /proc/sys/net/ipv4/tcp_window_scaling ]; then
  echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
fi

Like this

# Turn off TCP Timestamping in kernel
#if [ -e /proc/sys/net/ipv4/tcp_timestamps ]; then
#  echo 0 > /proc/sys/net/ipv4/tcp_timestamps
#fi

# Set TCP Re-Ordering value in kernel to '5'
#if [ -e /proc/sys/net/ipv4/tcp_reordering ]; then
#  echo 5 > /proc/sys/net/ipv4/tcp_reordering
#fi

# Turn off TCP ACK in kernel
#if [ -e /proc/sys/net/ipv4/tcp_sack ]; then
#  echo 0 > /proc/sys/net/ipv4/tcp_sack
#fi

#Turn off TCP Window Scaling in kernel
#if [ -e /proc/sys/net/ipv4/tcp_window_scaling ]; then
#  echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
#fi

Save your changes and restart firewall:

sudo /etc/init.d/firestarter restart

Further Reading